RUSSIAN

Эффективный Java Тюнинг кода на Java 8, 11 и дальше

Book information

Publisher
Питер
Year
2021
ISBN
9785446117574, 9781492056119
Language
russian
Format
PDF
Filesize
9 MB (9369337 bytes)
Series
Бестселлеры O’Reilly
Edition
2
Pages
\496
Time added
2021-07-09 17:40:09

Description

Программирование и тестирование обычно принято относить к разным профессиональным сферам. Скотт Оукс — признанный эксперт по языку Java — уверен, что если вы хотите работать с этим языком, то обязаны понимать, как выполняется код в виртуальной машине Java, и знать, какие настройки влияют на производительность. Вы сможете разобраться в производительности приложений Java в контексте как JVM, так и платформы Java, освоите средства, функции и процессы, которые могут повысить производитель- ность в LTS-версиях Java, и познакомитесь с новыми возможностями (такими как предварительная компиляция и экспериментальные уборщики мусора). Предисловие Для кого написана эта книга Благодарности От издательства Глава 1. Введение Структура книги Платформы и соглашения Платформы Java Аппаратные платформы Многоядерное оборудование Программные контейнеры Производительность: общая картина Пишите более качественные алгоритмы Пишите меньше кода Применяйте преждевременную оптимизацию Ищите в других местах: база данных всегда является «узким местом» Оптимизация для типичного случая Итоги Глава 2. Тестирование производительности Тестирование реального приложения Микробенчмарки Макробенчмарки Мезобенчмарки Пропускная способность, пакетирование и время отклика Измерения затраченного времени Измерения пропускной способности Тесты на определение времени отклика Дисперсия Тестируйте рано, тестируйте часто Примеры хронометражных тестов JMH Примеры кода Итоги Глава 3. Инструментарий производительности Java Средства операционной системы и анализ Использование процессора Очередь выполнения Уровень использования диска Уровень использования сети Средства мониторинга Java Основная информация VM Информация о потоках Информация о классах Оперативный анализ уборки мусора Последующая обработка дампов кучи Средства профилирования Профилировщики с выборкой Инструментальные профилировщики Блокирующие методы и временная шкала потоков Профилировщики низкоуровневого кода Java Flight Recorder Java Mission Control Краткий обзор JFR Включение JFR Выбор событий JFR Итоги Глава 4. Работа с JIT-компилятором JIT-компиляторы: общие сведения Компиляция HotSpot Многоуровневая компиляция Распространенные флаги компилятора Настройка кэша команд Анализ процесса компиляции Уровни многоуровневой компиляции Деоптимизация Флаги компилятора высокого уровня Пороги компиляции Потоки компиляции Встраивание Анализ локальности Код для конкретного процессора Плюсы и минусы многоуровневой компиляции GraalVM Предварительная компиляция Статическая компиляция Компиляция в низкоуровневый код в GraalVM Итоги Глава 5. Знакомство с уборкой мусора Общие сведения об уборке мусора Уборщики мусора с учетом поколений Алгоритмы уборки мусора Выбор алгоритма уборки мусора Основная настройка уборщика мусора Определение размера кучи Определение размеров поколений Определение размера метапространства Управление параллелизмом Инструменты уборки мусора Включение протоколирования уборки мусора в JDK 8 Включение протоколирования уборки мусора в JDK 11 Итоги Глава 6. Алгоритмы уборки мусора Параллельный уборщик мусора Настройка адаптивного и статического определения размеров кучи Уборщик мусора G1 Настройка уборщика мусора G1 Уборщик мусора CMS Настройка для предотвращения сбоев конкурентного режима Расширенная настройка Порог хранения и области выживших Создание больших объектов Флаг AggressiveHeap Полный контроль над размером кучи Экспериментальные алгоритмы уборки мусора Конкурентное сжатие: ZGC и Shenandoah Фиктивный эпсилон-уборщик Итоги Глава 7. Практика работы с памятью кучи Анализ кучи Гистограммы кучи Дампы кучи Ошибки нехватки памяти Снижение потребления памяти Уменьшение размеров объектов Отложенная инициализация Неизменяемые и канонические объекты Управление жизненным циклом объекта Повторное использование объектов Мягкие, слабые и другие ссылки Сжатые OOP Итоги Глава 8. Практика работы с низкоуровневой памятью Потребление памяти Измерение потребления памяти Минимизация потребления памяти Контроль за низкоуровневой памятью Низкоуровневая память общих библиотек Настройки JVM для операционной системы Большие страницы Итоги Глава 9. Производительность многопоточных программ и синхронизации Многопоточное выполнение и оборудование Пулы потоков и объекты ThreadPoolExecutor Назначение максимального количества потоков Настройка минимального количества потоков Размеры задач для пула потоков Определение размера ThreadPoolExecutor ForkJoinPool Перехват работы Автоматическая параллелизация Синхронизация потоков Затраты на синхронизацию Предотвращение синхронизации Ложное совместное использование данных Настройки потоков JVM Настройка размеров стеков потоков Смещенная блокировка Приоритеты потоков Мониторинг потоков и блокировок Видимость потоков Вывод информации о заблокированных потоках Итоги Глава 10. Серверы Java Java NIO Серверные контейнеры Настройка серверных пулов потоков Асинхронные серверы REST Асинхронные исходящие вызовы Асинхронный HTTP Обработка JSON Разбор данных и маршалинг Объекты JSON Разбор JSON Итоги Глава 11. Практика работы с базами данных База данных для примера JDBC Драйверы JDBC Пулы подключений JDBC Подготовленные команды и пулы команд Транзакции Обработка итоговых наборов JPA Оптимизация записи JPA Оптимизация операций чтения JPA Кэширование JPA Spring Data Итоги Глава 12. Рекомендации по использованию Java SE API Строки Компактные строки Дублирование и интернирование строк Конкатенация строк Буферизованный ввод/вывод Загрузка классов Совместное использование данных классов Случайные числа Интерфейс JNI Исключения Журналы API коллекций Java Синхронизированные и несинхронизированные коллекции Определение размера коллекции Коллекции и эффективность использования памяти Лямбда-выражения и анонимные классы Производительность потоков данных и фильтров Отложенный перебор Сериализация объектов Временные поля Переопределение сериализации по умолчанию Сжатие сериализованных данных Отслеживание дубликатов Итоги Приложение. Список флагов настройки

Similar books

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

2025 · PDF

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

2022 · PDF

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

2021 · PDF

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

2022 · PDF

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

2023 · PDF

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

2022 · PDF

Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»

Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»

2014 · PDF

Проектирование устройств приема и обработки сигналов: учебно-методическое пособие по курсу "Устройства приема и обработки сигналов" для студентов всех форм обучения специальностей: 210400.62 Радиотехника. Бакалавр Б.3.10. Основы цифровой обработки сигналов; 210700.62 Системы мобильной связи. Бакалавр Б.3.19. Радиоприемные устройства систем мобильной связи; 210601.65 Радиоэлектронные системы и комплексы. Специалист С.3.18. Устройства приема и обработки сигналов; 090302.65 Защита информации в системах связи и управления. Специалист С.3.30. Устройства приема и обработки сигналов

Проектирование устройств приема и обработки сигналов: учебно-методическое пособие по курсу "Устройства приема и обработки сигналов" для студентов всех форм обучения специальностей: 210400.62 Радиотехника. Бакалавр Б.3.10. Основы цифровой обработки сигналов; 210700.62 Системы мобильной связи. Бакалавр Б.3.19. Радиоприемные устройства систем мобильной связи; 210601.65 Радиоэлектронные системы и комплексы. Специалист С.3.18. Устройства приема и обработки сигналов; 090302.65 Защита информации в системах связи и управления. Специалист С.3.30. Устройства приема и обработки сигналов

2015 · PDF