Как оптимизировать код в моем Java-приложении

#java

#java

Вопрос:

Java-приложение, которое я писал последние несколько лет, теперь стало довольно раздутым, и я осознаю, что включаю неиспользуемый код и т. Д… Я знаю, что для css и javascript вы выполняете очистку кода и сжатие кода и т.д. Существует ли что-нибудь подобное для java?

Комментарии:

1. Как программист, вы всегда должны помнить о минимизации кода и повторном использовании вашего кода, чтобы вам не приходилось повторяться. Java позволяет программисту повторно использовать методы и классы, поэтому повторений должно быть немного, если вы планируете, как будет работать ваше приложение

Ответ №1:

По какой-то причине разработчики всегда игнорируют важность сборщика мусора Java.

Это должно помочь:http://www.devdaily.com/java/edu/pj/pj010008

Линда

Комментарии:

1. я расскажу об этом, я совершенно забыл о сборщике мусора

2. @KBertelsen, попробуйте запустить с -verbosegc , чтобы узнать, когда у вас возникают задержки GC и как долго они длятся.

Ответ №2:

Тот факт, что вы цитируете css в качестве примера для языка, который позволяет выполнять очистку кода, говорит мне о том, что вы, вероятно, новичок в Java.

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

На рынке существует множество статических анализаторов кода, и некоторые из лучших из них имеют открытый исходный код. Если вы серьезный Java-разработчик, то вы не можете получить лучшую IDE, чем Intellij (нет, они мне не платят ..). У них есть один из лучших инструментов анализа кода, интегрированных с IDE. Эта ссылка должна вам помочь.

Вам не обязательно использовать Intellij для получения аналогичного анализа кода. Вы можете использовать плагины PMD и FindBugs для любой ведущей IDE. Среди всех анализаторов кода, я считаю, что эти два являются лучшими для выявления глубоких проблем в коде, а не просто поверхностных ошибок. (например, проблема с форматированием).

Эти инструменты помогут вам очистить мертвые коды, найти возможные ошибки и незакрытые объекты. Вы также должны настроить инструменты на основе ваших требований, но это будет позже.

После того, как вы определили и устранили все проблемы, выявленные вашим статическим анализатором, вам необходимо отслеживать вашу программу на предмет потенциальных проблем, таких как утечка памяти. Некоторые проблемы обнаруживаются только во время выполнения.В Java был встроенный инструментальный механизм под названием JMX, и почти все основные поставщики серверов представили его. Вы также могли бы использовать Jconsole, который мог бы выступать в качестве уровня абстракции поверх JMX.

Ответ №3:

Рассматривали ли вы возможность использования каких-либо инструментов покрытия кода, чтобы точно определить, какие части вашего кода выполняются? Взгляните на EMMA:

http://emma.sourceforge.net/

Ответ №4:

Оптимизация и очистка — это две отдельные проблемы. Вы можете начать с обоих, используя Eclipse.

Взгляните на эти разделы вашей конфигурации Eclipse:

Window > Preferences > Java > Code Style > Clean up / Code Templates / Formatter

И:

Window > preferences > Java > Compiler > Errors/Warnings

Вы найдете множество удобных функций для пометки и даже автоматического исправления того, что обычно считается плохим кодом.

Для оптимизации производительности вы можете попробовать проект Eclipse Test amp; Performance Tools Platform.