КаталогКниг.РФ

JAVA: устранение проблем. Чтение, отладка и оптимизация JVM-приложений (Спилкэ Л.) ; ДМК Пресс, 2023

Книга: JAVA: устранение проблем. Чтение, отладка и оптимизация JVM-приложений (Спилкэ Л.) ; ДМК Пресс, 2023

от 2040 р. до 2548 р.


Сравнить цены

Цена от 2040 р. до 2548 р. в 6 магазинах

МагазинЦенаНаличие
Book24

5/5

2507 р. 3459 р.
Буквоед

5/5

2507 р.
Минимальная сумма заказа 100 рублей
Лабиринт

5/5

2548 р. 3640 р.
Яндекс.Маркет

5/5

2400 р.
МАЙШОП

5/5

2312 р. 3399 р.
Мегамаркет

5/5

2040 р. 2400 р.
Читай-город

5/5

Как купить или где мы находимся +

Описание

В этой книге рассматриваются простые и практичные методики исследования и улучшения незнакомого кода на языке программирования Java. Рассказывается о том, как эффективно использовать журналы для понимания поведения приложений; как применять методы профилирования для повышения эффективности при анализе проблем или изучении рабочих сред; как анализировать взаимодействие одних приложений с другими и осуществлять мониторинг системных событий, и обо многом другом.
Издание будет полезно начинающим и опытным разработчикам. Для чтения необходимо понимать основы языка Java.

Смотри также Характеристики.

Яндекс.Маркет


Содержание

Предисловие
Благодарности
Об этой книге
Об авторе
Об иллюстрации на обложке
ЧАСТЬ I. Основы анализа кодовой базы
Глава 1. Раскрытие секретов приложения
1.1. Как облегчить понимание работы
приложения
1.2. Типовые сценарии для использования
методик анализа
1.2.1. Выяснение причины вывода неожидаемых
результатов
1.2.2. Изучение конкретных технологий
1.2.3. Выяснение причин замедления
1.2.4. Исследование случаев аварийного
завершения приложения
1.3. Зачем нужно читать эту книгу
1.4. Резюме
Глава 2. Изучение логики приложения с помощью
методик отладки
2.1. Когда недостаточно просто
проанализировать код
2.2. Анализ кода с помощью отладчика
2.2.1. Что такое трассировка стека выполнения,
и как ее использовать..
2.2.2. Перемещение по коду с использованием
отладчика
2.3. Когда применения отладчика может
оказаться недостаточно
2.4. Резюме
Глава 3. Поиск главных причин возникновения
проблемы с использованием расширенных методик
отладки
3.1. Минимизация времени анализа с помощью
условных точек
останова
3.2. Использование точек останова, которые
не приостанавливают
выполнение
3.3. Динамическое изменение сценария
анализа
3.4. Повторное воспроизведение варианта
анализа
3.5. Резюме
Глава 4. Удаленная отладка приложений
4.1. Что такое удаленная отладка
4.2. Анализ в удаленных рабочих средах
4.2.1. Сценарий
4.2.2. Выявление проблем в удаленных средах

4.3. Резюме
Глава 5. Максимальное использование журналов:
инспектирование поведения приложения
5.1. Анализ проблем с использованием
журналов
5.1.1. Использование журналов для
идентификации исключений
5.1.2. Использование трассировок стека
исключений для определения
стороны, вызывающей метод
5.1.3. Измерение времени, затраченного на
выполнение конкретной
инструкции
5.1.4. Анализ проблем в многопоточных
архитектурах
5.2. Реализация функций журналирования
5.2.1. Постоянно хранимые журналы
5.2.2. Определение уровней журналирования и
использование
рабочих сред для ведения журналов
5.2.3. Проблемы, возникающие при
журналировании, и способы
их устранения
5.3. Сравнение журналирования с удаленной
отладкой
5.4. Резюме
ЧАСТЬ II. Глубокий анализ выполнения приложения
Глава б.Выявление проблем потребления ресурсов
с использованием методик профилирования
6.1. В каких случаях профилировщик
оказывается полезным
6.1.1. Выявление аномального использования
ресурсов
6.1.2. Как определить, какой код выполняется
6.1.3. Определение узких мест (замедлений) при
выполнении
приложения
6.2. Использование профилировщика
6.2.1. Установка и конфигурирование
профилировщика VisualVM
6.2.2. Наблюдение за использованием ЦП и
памяти
6.2.3. Обнаружение утечек памяти
6.3. Резюме
Глава 7. Поиск скрытых проблем с использованием
методик профилирования
7.1. Выборка для наблюдения за выполняемым
кодом
7.2. Профилирование с целью узнать, сколько
раз выполнен метод...
7.3. Использование профилировщика для
идентификации
SQL-запросов, выполняемых приложением
7.3.1. Использование профилировщика для
извлечения
SQL-запросов, не генерируемых фреймворком
7.3.2. Использование профилировщика для
получения
SQL-запросов, генерируемых фреймворком
7.3.3. Использование профилировщика для
получения
программно сгенерированных SQL-запросов
7.4. Резюме
Глава 8. Использование продвинутых
инструментов визуализации для профилируемых
данных
8.1. Выявление проблем в JDBC-соединениях
8.2. Изучение проектного решения кода
приложения
с использованием графов вызовов
8.3. Использование flame-графиков для
обнаружения
проблем с производительностью
8.4. Анализ запросов в NoSQL базы данных
8.5. Резюме
Глава 9. Анализ блокировок в многопоточных
архитектурах
9.1. Мониторинг потоков с целью
обнаружения блокировок
9.2. Анализ блокировок потоков
9.3. Анализ ожидающих потоков
9.4. Резюме
Глава 10. Анализ взаимоблокировок с помощью
дампов потоков...
10.1. Получение дампа потоков
10.1.1. Получение дампа потока с
использованием профилировщика....
10.1.2. Генерация дампа потоков из командной
строки
10.2. Чтение дампов потоков
10.2.1. Чтение дампов потоков в виде простого
текста
10.2.2. Использование инструментальных
средств для лучшего
понимания дампов потоков
10.3. Резюме
Глава 11. Обнаружение проблем, связанных с
использованием памяти, при выполнении
приложения
11.1. Выборка и профилирование для
выявления проблем
с памятью
11.2. Использование дампов кучи для поиска
утечек памяти
11.2.1. Получение дампа кучи
11.2.2. Чтение дампа кучи
11.2.3. Использование консоли OQL для запроса в
дамп кучи
11.3. Резюме
ЧАСТЬ III. Поиск проблем в крупных системах
Глава 12. Анализ поведения приложений в крупных
системах
12.1. Анализ обмена данными между сервисами
12.1.1. Использование проб HTTP-сервера для
наблюдения
НТТР-запросов
2.1.2. Использование проб HTTP-клиента для
наблюдения
НТТР-запросов, отправляемых приложением
12.1.3. Анализ событий низкого уровня в сокетах
12.2. Важность интегрированного мониторинга
журналов
12.3. Использование средств развертывания
для анализа
12.3.1. Использование инъекции критической
ошибки для имитации
трудновоспроизводимых проблем
12.3.2. Использование зеркалирования для
обеспечения
тестирования и выявления ошибок
12.4. Резюме
Приложение А. Необходимые инструментальные
средства
Приложение В. Открытие проекта
Приложение С. Литература, рекомендуемая
для дополнительного чтения
Приложение D. Понимание потоков Java
D.l. Что такое поток
D.2. Жизненный цикл потока
D.3. Синхронизация потоков
D.3.I. Синхронизированные блоки
D.3.2. Использование wait(), notify() и notifyAUO
D.3.3. Присоединение потоков
D.3.4. Блокировка потоков на определенное время
D.3.5. Синхронизация потоков с блокирующими
объектами
D.4. Проблемы, наиболее часто возникающие в
многопоточных
архитектурах
D.4.I. Состояние гонки
D.4.2. Взаимоблокировки
D.4.3. Динамические (активные) взаимоблокировки
D.4.4. Голодание (зависание)
D.5. Материал для дополнительного чтения
Приложение Е. Управление памятью в Java-
приложениях
Е.1. Как JVM организует память приложения
Е.2. Стек, используемый потоками для хранения
локальных
данных
Е.З. Куча, которую приложение использует для
хранения
экземпляров объектов
Е.4. Метапространство - локация памяти для
хранения типов данных
Предметный указатель

О книге

Автор(ы)
РазделПрограммирование
ИздательДМК Пресс
ISBN978-5-93700-215-0
Год издания2023
Количество страниц356
Формат170x240мм
Вес0.69кг
Переплетшитая
Кол-во страниц356
Возрастные ограничения12
Обложкатвердый переплёт
ИздательствоДМК Пресс
Жанрпрограммирование
Тип обложкитвердая
Возрастное ограничение18+

Отзывы (0)

    Добавить отзыв



     

    Программирование - издательство "ДМК-Пресс"

    Категория 1632 р. - 2448 р.

    Программирование - издательство "ДМК-Пресс" »

    Программирование

    Категория 1632 р. - 2448 р.

    ADS
    закладки (0) сравнение (0)

     

    preloader

    8 ms