Эффективный Java. Тюнинг кода на Java 8, 11 и дальше. 2-е межд. издание
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  Эффективный Java. Тюнинг кода на Java 8, 11 и дальше. 2-е межд. издание

Это вовсе не означает, что вы не должны добавлять в свой продукт новые возможности или новый код; разумеется, совершенствование программ приносит пользу. Но вы должны знать о тех компромиссах, на которые вам придется пойти, и упрощать свой код там, где это возможно.
1 Ұнайды
Комментарий жазу
ALEXEY N.
ALEXEY N.дәйексөз келтірді3 апта бұрын
Во-первых, поскольку код Java интерпретируется при нескольких начальных выполнениях, чем дольше он выполняется, тем быстрее он начинает работать. По этой причине все хронометражные тесты (не только микробенчмарки) обычно включают период разогрева (warm-up), во время которого JVM может откомпилировать свой код в оптимальное состояние.
Комментарий жазу
Артём Т.
Артём Т.дәйексөз келтірді1 ай бұрын
более новой версии Java 8 (или Java
Комментарий жазу
Александр
Александрдәйексөз келтірді2 ай бұрын
После того как многие потенциальные причины были отклонены, проблема оставалась, причем у нас не было базы данных, которую можно было обвинить в происходящем. Сл
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді5 ай бұрын
Вырванные из контекста догмы классиков не должны мешать вам размышлять о коде, который вы пишете.
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді5 ай бұрын
Это вовсе не означает, что вы не должны добавлять в свой продукт новые возможности или новый код; разумеется, совершенствование программ приносит пользу. Но вы должны знать о тех компромиссах, на которые вам придется пойти, и упрощать свой код там, где это возможно.
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді5 ай бұрын
я вовсе не хочу сказать, что мы не должны работать над повышением производительности существующих приложений. Но как ни парадоксально, с добавлением новых возможностей и поддержкой новых стандартов (а это необходимо для того, чтобы не отстать от конкурирующих продуктов) программы обычно увеличиваются в размерах и начинают медленнее работать.
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді5 ай бұрын
Все это понятно, но проблема в том, что маленькая хорошо написанная программа выполняется быстрее большой хорошо написанной программы. Это относится ко всем компьютерным программам вообще и к Java-программам в частности.
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді5 ай бұрын
В конечном счете быстродействие приложения зависит от того, насколько качественно оно написано. Если программа перебирает все элементы массива, то JVM оптимизирует проверку границ массива, чтобы цикл выполнялся быстрее, а JVM может выполнить раскрутку цикла для дополнительного ускорения. Но если цикл предназначен для поиска конкретного элемента, никакая оптимизация в мире не заставит код массива работать так же быстро, как другая версия с хешированием. Хороший алгоритм — самый важный фактор высокой производительности.
Комментарий жазу
Флаги оптимизации JVM JVM (с немногочисленными исключениями) получает флаги двух типов: логические флаги и флаги с параметром. Логические флаги используют следующий синтаксис: -XX:+ИмяФлага устанавливает флаг, а -XX:-ИмяФлага сбрасывает его. Флаги с параметром используют синтаксис -XX:ИмяФлага=значение; в этом случае ИмяФлага присваивается указанное значение. В тексте книги конкретное значение флага обычно заменяется чем-то, указывающим на произвольное значение. Например, -XX:NewRatio=N означает, что флагу NewRatio будет присвоено произвольное значение N (а последствия выбора N станут темой обсуждения). Значения по умолчанию для всех флагов рассматриваются при первом упоминании флага. Значение по умолчанию часто определяется несколькими факторами: платформой, на которой работает JVM, а также аргументами командной строки JVM. Если у вас возникнут сомнения, в разделе «Основная информация VM» на с. 87 показано, как использовать флаг -XX:+PrintFlagsFinal (по умолчанию false) для определения значения по умолчанию конкретного флага в конкретной среде для заданной командной строки. Процесс автоматической оптимизации флагов в зависимости от параметров среды называется эргономикой. Реализация JVM, загруженная с сайтов Oracle и AdoptOpenJDK, называется рабочей сборкой JVM. При сборке JVM из исходного кода можно построить много разных вариантов сборки: отладочные сборки, сборки для разработчиков и т.д. Такие сборки часто содержат дополнительную функциональность. В частности, сборки для разработчиков включают расширенный набор флагов оптимизации, чтобы разработчики могли поэкспериментировать с самыми незначительными аспектами различных алгоритмов, используемых JVM. Такие флаги обычно в книге не рассматриваются.
Комментарий жазу