В этой серии статей я собираюсь обобщить основные положения невероятной книги Скотта Оукса “Java Perfroamcne”. Это отличная книга, если вы заинтересованы в оптимизации своего java-приложения и/или хотите глубже разобраться в том, как работает java, а также в том, как тестировать и профилировать ваше java-приложение. Мы собираемся обсудить каждую главу в отдельной части статьи. Эта статья предназначена для людей, которые хотят сделать краткое резюме для книги и/или хотят получить быструю информацию о том, как думать о производительности java без необходимости читать всю книгу.
Скотт Оукс – специалист по Java в Sun Microsystems, где он работает с 1987 года. Работая в Sun, он специализировался на многих разрозненных технологиях, от ядра SunOS до сетевого программирования и RPC. С 1995 года он сосредоточен в основном на Java и доведении технологии Java до конечных пользователей. Скотт также является автором книги О’Рейли Java Security
, Java-потоки
и Jini в двух словах
названия. О’Рейли
Мы собираемся обсудить 2-е издание книги. Это издание было опубликовано в феврале 2020 года. Книжный указатель выглядит следующим образом:
содержание
Давайте посмотрим указатель основных моментов книги:
- Вступление
- Краткий очерк
- Платформы и конвенции
- Полная История Выступления
- Резюме
- Подход к тестированию производительности
- Протестируйте реальное приложение
- Понимание пропускной способности, пакетной обработки и времени отклика
- Понять Изменчивость
- Тест на ранней стадии, Тест Часто
- Эталонные примеры
- Резюме
- Набор инструментов для повышения производительности Java
- Инструменты и анализ операционной системы
- Инструменты мониторинга Java
- Инструменты профилирования
- Бортовой самописец Java
- Резюме
- Работа с JIT-компилятором
- Обзор JIT
- Многоуровневая Компиляция
- Общие флаги компилятора
- Расширенные флаги компилятора
- Компромиссы при компиляции
- Виртуальная машина Graal
- Предварительная компиляция
- Резюме
- Введение в сборку мусора
- Обзор Сбора мусора
- Базовая настройка GC
- Инструменты GC
- Резюме
- Алгоритмы Сбора Мусора
- Понимание коллектора пропускной способности
- Понимание сборщика мусора G1
- Понимание сборщика CMS
- Расширенная настройка
- Экспериментальные алгоритмы GC
- Резюме
- Рекомендации по использованию кучи памяти
- Анализ кучи
- Использование Меньшего Объема Памяти
- Управление жизненным циклом объекта
- Резюме
- Лучшие практики использования встроенной памяти
- След
- Настройки JVM для операционной системы
- Резюме
- Производительность потоковой передачи и синхронизации
- Нарезание резьбы и аппаратное обеспечение
- Пулы потоков и Threadpoolexecutor
- Пул разветвленных соединений
- Синхронизация потоков
- Настройки потоков JVM
- Мониторинг потоков и блокировок
- Резюме
- Java-серверы
- Обзор Java NIO
- Серверные контейнеры
- Асинхронные Исходящие Вызовы
- Обработка Json
- Резюме
- Рекомендации по повышению производительности базы данных
- Пример базы данных
- интерфейс jdbc
- JPA
- Весенние данные
- Резюме
- Советы по API Java SE
- Струнные
- Буферизованный ввод-вывод
- Загрузка классов
- Случайные числа
- Собственный интерфейс Java
- Исключения
- Регистрация
- Java Collections API
- Лямбды и анонимные классы
- Производительность потока и фильтра
- Сериализация объектов
- Резюме
Я хочу упомянуть, что я добавляю каждую главу после ее прочтения, поэтому может потребоваться некоторое время, чтобы закончить 12 глав в статье. Если у вас есть какие-либо предложения и/или замечания, пожалуйста, укажите их, чтобы улучшить статью.
Как только я напишу главу, я обновлю эту статью, чтобы включить ее в качестве следующей части. увидимся там…
Работайте умно и трудный
Оригинал: “https://dev.to/yousef_zook/java-performance-summary-45d3”