Я действительно предлагаю codeblocks. Это не столь тяжело как Eclipse, и это имеет поддержку проекта Visual Studio.
Я обнаружил, что Yourkit - довольно замечательный профилировщик для java. Это замечательный анализ горячих точек и профилирование памяти. Я использовал его, чтобы найти множество утечек памяти, а также множество оптимизаций.
Cobertura и Эмма выполнит анализ покрытия кода.
Что касается многопоточной корректности, FindBugs выполнит некоторые из этот. Однако он выполняет статический анализ. т.е. , а не , пока программа работает.
Ознакомьтесь с Glassbox , агентом устранения неполадок для приложений Java, который автоматически диагностирует типичные проблемы . Glassbox развертывается как военный файл на вашем сервере приложений, а затем использует ткачество времени загрузки AspectJ для мониторинга компонентов приложения и других артефактов для выявления таких проблем, как избыточные или неудачные удаленные вызовы, медленные запросы и т. Д. слишком много запросов к базе данных, конфликты потоков, даже то, какие параметры запроса вызвали сбои.
Glassbox осуществляет неинвазивный мониторинг приложений, используя аспекты для отслеживания взаимодействий компонентов. Мы также отслеживаем встроенные данные JMX, в частности, на виртуальной машине Java 5 мы отбираем данные потока (по умолчанию каждые 100 мс). По мере обработки запроса мы суммируем важные события, например, на что было потрачено время и какие параметры были задействованы в замедлении работы или сбое. Мы также обнаруживаем операции более высокого уровня (такие как действия Struts или контроллеры Spring), которые мы используем для создания отчетов. Затем наш веб-клиент AJAX предоставляет сводные данные о состоянии по работе на отслеживаемых машинах, и мы генерируем более подробный анализ по запросу. Glassbox позволяет отслеживать кластеры серверов: веб-приложение использует JMX Remote или прямой RMI для доступа к данным с удаленных серверов. Мы также предоставляем JMX-удаленный доступ к сводной статистике нижнего уровня.
Я использовал ранее профилировщик производительности с именем JRat .
Запускается как агент Java и сообщает статистические данные, например о времени, затраченном на выполнение определенного метода.