Профилирование JAVA-приложения в Eclipse? (плагин) [закрывается]

Так как Вы обращаетесь к переменным экземпляра, я предполагаю, что Вы работаете на объектно-ориентированном языке. До некоторой степени, когда использовать переменные экземпляра, как определить их объем, и когда использовать локальные переменные, субъективно, но существует несколько эмпирических правил, за которыми можно следовать, создавая классы.

  • Переменные экземпляра обычно считаются атрибутами класса. Думают о них как о прилагательных объекта, который будет создан из Вашего класса. Если Ваши данные экземпляра могут использоваться, чтобы помочь описать объект, то, вероятно, безопасно держать пари, что это - хороший выбор, например, данные.

  • Локальные переменные используются в рамках методов, чтобы помочь им завершить свою работу. Обычно, метод должен иметь цель получить некоторые данные, возвращая некоторые данные и/или proccessing/running алгоритм на некоторых данных. Иногда, это помогает думать о локальных переменных как о способах помочь методу добраться с начала до конца.

  • объем Переменной экземпляра не только для безопасности, но и для инкапсуляции, также. не предполагают, что "цель должна состоять в том, чтобы сохранить все переменные частными". В случаях наследования, делая переменные, как защищено обычно хорошая альтернатива. Вместо того, чтобы отмечать всю общественность данных экземпляра, Вы создаете методов get/методы set для тех, к которым нужно получить доступ к внешнему миру. Не делайте их всех доступными - только те Вам нужно. Это прибудет в течение жизненного цикла разработки - трудно предположить с самого начала.

Когда дело доходит до передающих данных вокруг класса, трудно сказать, что Вы делаете, хорошая практика, не видя некоторый код. Иногда, работа непосредственно на данных экземпляра прекрасна; другие времена, это не. По-моему, это - что-то, что идет с опытом - Вы разработаете некоторую интуицию, когда Ваши объектно-ориентированные навыки мышления улучшаются.

51
задан Peter Mortensen 17 October 2009 в 15:45
поделиться

7 ответов

Если можете, используйте jvisualvm в Sun Java 6 JDK (IBM тоже). Он работает "из коробки" и может ответить на многие из начальных вопросов.

Обратите внимание, что в Windows вам нужно вызвать jvisualvm с тем же двоичным кодом Java, что и программа, которую вы хотите исследовать, для достижения наилучших результатов.

(visualvm - это автономное подмножество профилировщика Netbeans)

50
ответ дан 7 November 2019 в 10:06
поделиться

Я нашел JProfiler (коммерческий) очень полезным. У него есть интеграция с Eclipse, хотя это не плагин Eclipse per sa ', поэтому вы можете очень легко вызвать профилировщик вместо обычного сеанса выполнения. У него был очень хороший анализ узких мест, и вы можете найти и настроить параметры, чтобы снизить накладные расходы самого профилировщика. Настоятельно рекомендуется.

7
ответ дан 7 November 2019 в 10:06
поделиться
0
ответ дан 7 November 2019 в 10:06
поделиться

In my experience, TPTP is something to run away from as fast as possible. It's a horribly overengineered mess, almost impossible to get to work, badly documented, and slow as molasses.

I'm not aware of any good and free profiling plugins for eclipse. But then, does it really have to be an eclipse plugin? VisualVM comes with the JDK since Java 6u7, is fast and easy to use. It may not be the most feature-rich of profilers, but has been sufficient for me.

20
ответ дан 7 November 2019 в 10:06
поделиться

Eclipse Memory Analyzer в последнее время мне очень помогает.

4
ответ дан 7 November 2019 в 10:06
поделиться

YourKit - отличный коммерческий профилировщик с хорошей интеграцией Eclipse .

11
ответ дан 7 November 2019 в 10:06
поделиться

Я также использовал Профилировщик Netbeans , что неплохо. Его довольно легко настроить для профилирования вашего проекта Eclipse во время его работы в Eclipse. Вам не нужно открывать проект в Netbeans.

4
ответ дан 7 November 2019 в 10:06
поделиться
Другие вопросы по тегам:

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