JAVA. Устранение проблем

Спилкэ Лауренциу

Код товара: 5003470
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
1 / 3
-33%
2 278
3 399
Доставим в
г. Москва
Планируемая дата
5 мая (Вс)
Курьером
Л-Пост
бесплатно от 10 000 ₽
В пункт выдачи
от 155 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Оригинальное название:
Troubleshooting JAVA. Read, debug, and optimize JVM applications
Год издания:
2023 г.
Может быть отгружен товар указанного или более позднего года
Переводчик:

Описание

Характеристики

В этой книге представлены практические методики исследования и улучшения незнакомого кода. Вы узнаете о том, как определять скрытые зависимости, выявлять главные причины критических сбоев и аварийных завершений приложений, а также ин-терпретировать неожиданные результаты. Осваивайте профилирование и отладку и начинайте исследовать, как в действительности работают Java-приложения.
Издание подойдет для Java-разработчиков средней квалификации.
"Наконец-то вышла книга, которая демонстрирует, как устранять проблемы и исследовать Java-приложения в производственной среде! Она определенно может спасти положение!"
Атул Шринивас Хот, SquareOne Insights
количество томов
1
количество страниц
356 стр.
переплет
Твёрдый переплёт
размеры
245x175x20 мм
тип бумаги
офсетная (60-220 г/м2)
ISBN
978-5-93700-215-0
возрастная категория
18+ (нет данных)
вес
код в Майшоп
5003470
язык
русский

Содержание

Предисловие
Благодарности
Об этой книге
Об авторе
Об иллюстрации на обложке
ЧАСТЬ 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. Метапространство - локация памяти для
хранения типов данных
Предметный указатель

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «JAVA. Устранение проблем» (авторы: Спилкэ Лауренциу), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта