представьте [закрытый] код Java

Параметры, передаваемые по имени являются хорошим вариантом (предположение языка, который поддерживает их) для устранения неоднозначности долго (или даже короткий!) списки параметров, также позволяя (в случае конструкторов) свойствам класса быть неизменными, не налагая требование для разрешения его существовать в частично созданном состоянии.

другая опция я искал бы в выполнении этого вида, осуществляют рефакторинг, были бы группы связанных параметров, которые могли бы быть лучше обработаны как независимый объект. Используя Прямоугольный класс из более раннего ответа как пример, конструктор, который берет параметры для x, y, высоты и ширины, мог факторизовать X и Y в Точечный объект, позволив Вам передать три параметра конструктору Rectangle. Или пойдите немного далее и сделайте его двумя параметрами (UpperLeftPoint, LowerRightPoint), но это было бы более радикальным рефакторингом.

6
задан GEOCHET 15 September 2009 в 14:52
поделиться

10 ответов

Java 1.6 поставляется с элементарным профилировщиком: jvisualvm . Он находится в том же каталоге, что и java и javac .

7
ответ дан 8 December 2019 в 13:01
поделиться

Вы можете взглянуть на ответы на этот вопрос: java-профилировщики с открытым исходным кодом

5
ответ дан 8 December 2019 в 13:01
поделиться

Netbeans имеет довольно приличный встроенный профилировщик Java.

3
ответ дан 8 December 2019 в 13:01
поделиться

Хотя и не OpenSource, мне лично очень нравится YourKit - он имеет отличную визуализацию и действительно прост в использовании.

1
ответ дан 8 December 2019 в 13:01
поделиться

JRockit Mission Control , это не открытый исходный код, но это коммерческий профилировщик, который вы можете использовать для разработки. Здесь вы можете прочитать, что нового в последней версии.

1
ответ дан 8 December 2019 в 13:01
поделиться

Инструмент jvisualvm в последней версии Java 6 JDK содержит профилировщик (из Netbeans) и может подключаться к уже запущенной программе, что упрощает выполнение начальных исследований.

1
ответ дан 8 December 2019 в 13:01
поделиться

Предположительно Eclipse TPTP может присоединить свой профилировщик к процессу Java, но мне так и не удалось заставить его работать нормально. NetBeans Profiler, безусловно, проще всего подключить к внешним процессам.

Если у вас есть данные профилирования или дамп кучи, я выбираю яд для анализа Eclipse Memory Analyzer .

0
ответ дан 8 December 2019 в 13:01
поделиться

Мне очень понравился Jrat для профилирования Java: http://jrat.sourceforge.net/

Бесплатная утечка памяти C с открытым исходным кодом (и другой детектор), работающая в Windows: duma ( http://duma.sourceforge.net/ ). Его не так просто использовать, как Valgrind (вам нужно отредактировать свои источники, и в нем нет изящной опции «не сообщать об этом» - я все равно ее еще не нашел). Все варианты вроде Valgrind для Windows являются коммерческими (IBM Purify кажется лучшим, но лицензия довольно дорогая)

Я занимаюсь оптимизацией C для Windows с помощью инструментов gcc, gcov, как мне кажется, используется для профилирования (может быть, ошибаюсь , давно не пользовался)

0
ответ дан 8 December 2019 в 13:01
поделиться

Не все инструменты имеют открытый код, но вы можете найти список всех доступных инструментов на http://javatoolbox.com/categories/profiling-debugging

Каждый Инструмент упоминается с кратким описанием того, что он предлагает.

0
ответ дан 8 December 2019 в 13:01
поделиться

Попробуйте сделать "стакшоты". Это альтернатива без профилировщика .

Это не просто еще одно красивое лицо, но оно дает результаты.

0
ответ дан 8 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: