При обновлении профилировщика yourkit я заметил следующее сообщение на их веб-сайте:
YourKit Java Profiler 8.0.30 Используйте версию 8.0 для профилирования Java 5 только приложения. В профиль Java 6 и приложения Java 7, используйте версию 9.5.
YourKit Java Profiler 8.0.30
Используйте версию 8.0 для профилирования Java 5 только приложения. В профиль Java 6 и приложения Java 7, используйте версию 9.5.
Я не могу понять, почему они рекомендуют профилировать только Java 5 приложений с 8.0? Есть ли какое-то объяснение этому или просто маркетинг?
При догадке в Java 6 были добавлены новые API, которые позволяют версии 9.5 работать более эффективно или результативно. Это, безусловно, имело бы смысл сообщения.
РЕДАКТИРОВАТЬ: Это подтверждается на странице Yourkit 9.0 :
Предупреждение: могут быть профилированы только приложения, работающие на Java 6 или новее. Новая функциональность, предоставляемая этой версией профилировщика, требует API-интерфейсов Java 6, которые не были доступны в более ранних версиях Java. Для профилирования приложений Java 5 используйте YourKit Java Profiler 8.0.
Я профилировал приложения java 6 с Yourkit 7.5, и он работал хорошо.
Видны некоторые небольшие ошибки - время GC не всегда корректно, в режиме выборки профилирования ЦП существуют методы Object.wait, которые не должны использовать ЦП.