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

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

Это вовсе не означает, что вы не должны добавлять в свой продукт новые возможности или новый код; разумеется, совершенствование программ приносит пользу. Но вы должны знать о тех компромиссах, на которые вам придется пойти, и упрощать свой код там, где это возможно.
1 Ұнайды
Комментарий жазу
Артём Т.
Артём Т.дәйексөз келтірді2 апта бұрын
более новой версии Java 8 (или Java
Комментарий жазу
Александр
Александрдәйексөз келтірді1 ай бұрын
После того как многие потенциальные причины были отклонены, проблема оставалась, причем у нас не было базы данных, которую можно было обвинить в происходящем. Сл
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді3 ай бұрын
Вырванные из контекста догмы классиков не должны мешать вам размышлять о коде, который вы пишете.
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді3 ай бұрын
Это вовсе не означает, что вы не должны добавлять в свой продукт новые возможности или новый код; разумеется, совершенствование программ приносит пользу. Но вы должны знать о тех компромиссах, на которые вам придется пойти, и упрощать свой код там, где это возможно.
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді3 ай бұрын
я вовсе не хочу сказать, что мы не должны работать над повышением производительности существующих приложений. Но как ни парадоксально, с добавлением новых возможностей и поддержкой новых стандартов (а это необходимо для того, чтобы не отстать от конкурирующих продуктов) программы обычно увеличиваются в размерах и начинают медленнее работать.
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді3 ай бұрын
Все это понятно, но проблема в том, что маленькая хорошо написанная программа выполняется быстрее большой хорошо написанной программы. Это относится ко всем компьютерным программам вообще и к Java-программам в частности.
Комментарий жазу
Аслан Нурлыбеков
Аслан Нурлыбековдәйексөз келтірді3 ай бұрын
В конечном счете быстродействие приложения зависит от того, насколько качественно оно написано. Если программа перебирает все элементы массива, то 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. Такие флаги обычно в книге не рассматриваются.
Комментарий жазу
Yakov
Yakovдәйексөз келтірді5 ай бұрын
Буква «m» в jmh когда-то обозначала микробенчмарк (Microbenchmark), хотя теперь jmh рекламируется как фреймворк, подходящий для создания нано-/микро-/милли-/макробенчмарков.
Комментарий жазу