Профилирование может быть более легкой опцией, так как Вы не требуете статистики в производстве. Профилирование также не требует модификации кода. VisualVM (который поставляет w/JDK 1.6.06 +) является простым инструментом. Если бы Вы хотите что-то более всестороннее, я пошел бы с Eclipse TPTP, профилировщик Netbeans или JProfiler (плата).
, Если Вы хотите записать, Вы владеете, рассматриваете следующее:
Простой measurments как время выполнения может быть сделан путем "синхронизации" раздела, которым Вы интересуетесь:
long start = System.nanoTime(); // requires java 1.5
// Segment to monitor
double elapsedTimeInSec = (System.nanoTime() - start) * 1.0e-9;
можно использовать подобную технику для памяти монитора через Runtime.getRuntime ().*memory () методы. Следует иметь в виду, что отслеживание использования памяти в собравшей "мусор" среде более хитро, чем простое вычитание.
загрузку ЦП трудно измерить в Java, я обычно придерживаюсь времени выполнения и оптимизирую дольше / повторяющиеся разделы
С ThreadMXBean можно получить использование ЦП отдельных потоков и использованное процессорное время, а не протечь время, которое может быть полезным.
Однако его часто более простой использовать профилировщика, поскольку этот процесс часто генерирует много данных, и Вам нужен хороший инструмент визуализации для наблюдения то, что продолжается.
я использую Yourkit, поскольку я нахожу легче решить проблемы, которые других профилировщиков я использовал. Я также использую встроенный hprof, поскольку это может дать Вам другое представление относительно профиля Вашего приложения (но не как полезное)
Используя Профилировщика Java наилучший вариант, и он даст Вам все понимание, в котором Вы нуждаетесь в код. то есть Время отклика, Поток CallTraces, Использования памяти, и т.д.
я предложу Вас JENSOR, Профилировщик Java с открытым исходным кодом, для его простоты в употреблении и низких издержек на ЦП. Вы можете загрузить его, оснастить код и получите всю информацию, в которой Вы нуждаетесь о своем коде.
можно загрузить его с: http://jensor.sourceforge.net /