В «Детское понимание виртуальной машины Java JVM Характеристики высокого уровня и лучшая практика Zhou Zhiming 3 -е издание+Java Complourent Art Java Book Java Virtual Machine Programming Pronge Princom
Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
- Информация о товаре
- Фотографии
Основная информация, обратитесь к следующему введению | |
Название книги: | В -Детское понимание виртуальной машины Java: старшие характеристики JVM и лучшая практика (3 -е издание) Искусство Java. Параллельные программы |
Автор: | Zhou Zhiming Fang Tengfei Wei Peng Cheng Xiaoming |
Цены: | 188.00 |
Номер ISBN: | 9787111641247 9787111508243 |
Издательство: | Machinery Industry Press |
  Редактировать рекомендацию | |
(1) Эта книга стоит прочитать 3 раза для всех техников Java. Стоит прочитать 3 раза в Java Technics. Стоит прочитать 3 раза! (2) Полное обновление в соответствии с версиями EA JDK12 и JDK 13, новый контент составляет почти 50%, а расплывчатые дефекты и содержание ошибок во втором издании исправлены. (3) Памятник в области компьютерных книг был напечатан 36 раз, в общей сложности 36 раз, с объемом продаж более 300 000 экземпляров. (4) Из технологической системы Java, автоматического управления памятью, подсистемы выполнения виртуальной машины, компиляции программы и оптимизации кода, а также эффективного комплексного анализа JVM. (5) Вся книга руководствуется фактическим боем, а решение и навыки решения различных технических задач Java анализируются и продемонстрированы с помощью большого количества анализа случаев с фактической производственной средой. (6) 10 экспертов из Ali, Tencent, Microsoft, Baidu, Didi, Yibao Pay, Tongdun Technology, Daguan Data, Tanni International и Mushroom Street высоко оценены и настоятельно рекомендуются. |
краткое введение | |
Это книга, которая тщательно анализирует JVM из двух измерений рабочих принципов и инженерной практики. Это классика, признанная компьютерной областью. Традиционная версия также очень популярна на Тайване. С момента своего листинга в 2011 году первые две версии были напечатаны 36 раз и проданы более 300 000 копий. Почти 90 000 комментариев из двух основных онлайн -книжных магазинов, которые почти нулевые дифференциальные. Это непреодолимый памятник в области оригинального компьютера. книги 3 -е издание было пересмотрено на основе 2 -го издания. Содержание более богаче и фактическое: согласно новой версии JDK, контент был полностью пересмотрен и обновлен, и более 100 000 слов добавляются вокруг новых технологий и и Производственная практика. Он содержит почти 50%нового контента и исправил смутные, дефекты и содержание ошибок во втором издании. В книге есть 13 глав, разделенные на пять частей: *Частичный (глава 1) подход к Java Система вводит техническую систему Java, историю разработки, семейство виртуальных машин и ручную компиляцию JDK. Чтобы понять, что эта часть может дать хорошее руководство для обучения JVM. Часть 2 (Глава 2 ~ 5) Автоматическое управление памятью Подробное объяснение области памяти Java и переполнения памяти, сборщика мусора и стратегии распределения памяти, мониторинга производительности виртуальных машин и устранения сбоев, связанных с автоматическим управлением памяти, и более 10 классических случаев оптимизации производительности и методов оптимизации; Часть III (Глава 6-9) Исполнительная система виртуальной машины В -DEPTH Анализ подсистем выполнения виртуальной машины, включая структуры файлов, механизмы загрузки виртуальной машины, двигатели выполнения виртуальных машин, и практические случаи загрузки нескольких классов и подсистемы выполнения; Часть 4 (Глава 10 ~ 11) Компиляция программы и оптимизация кода Подробное объяснение компиляции и оптимизации программы передней и задней стороны, включая меры оптимизации легкого использования передней части, такие как анализ в рамках содержания общего, активного бокса и кондиционирования; Метод обнаружения горячей точки машины, мгновенный компилятор горячей точки, ранний компилятор и различные методы оптимизации периода общего компиляции; Часть 5 (Глава 12 ~ 13) Эффективное параллелизм В основном это объясняет принцип высокого параллелистика в Java, включая модели памяти Java, потоки и корпорации, а также безопасность потоков и оптимизация блокировки. Книга руководствуется фактическим боем, а решение и навыки решения различных технических проблем Java анализируются и продемонстрированы с помощью большого количества анализа случаев с фактической производственной средой. |
Оглавление | |
Оглавление Contents Предисловие Спасибо Первая часть приближается к Java Глава 1 Подход к Java 2 1.1 Обзор 2 1.2 Technology System Java 3 1.3 История развития Java 4 1.4 Java Virtual Machine Family 12 1.4.1 Виртуальная машина предок: Sun Classic/Точная виртуальная машина 12 1.4.2 Лорд боевых искусств: горячая точка VM 13 1.4.3 xiaojiabiyu: мобильная/встроенная виртуальная машина 14 1.4.4 World Second: Bea Jrockit/IBM J9 VM 15 1.4.5 Soft and Sky: Bea Liquid VM/Azul VM 16 1.4.6 Challenger: Apache Harmony/Google Android Dalvik VM 17 1.4.7 не удается добиться успеха, но это не неудача: Microsoft JVM и другие 18 1,4,8 сотни школ. 19 1.5 Ищу будущее технологии Java 21 1.5.1 Нет тенденции языка 21 1.5.2 Новое поколение компиляторов реального времени 23 1.5.3. Тур на родной 24 1.5.4 Гибкий толстый человек 26 1.5.5 Язык и грамматика продолжают увеличиваться 27 1.6 Фактический бой: Скомпилируйте JDK самостоятельно 29 1.6.1 Получите исходный код 29 1.6.2 Системные требования 31 1.6.3 Стройте среду компиляции 33 1.6.4 Компиля 34 1.6.5 Отладка исходного кода в инструменте IDE 36 1.7 Сводка этой главы 39 Часть II Автоматическое управление памятью Глава 2 Область памяти Java и переполнение памяти аномально 42 2.1 Обзор 42 2.2 Область данных во время выполнения 42 2.2.1 Программная счетчик 43 2.2.2 Java Virtual Machine Stack 43 2.2.3. Локальный стек методов 44 2.2.4 Java Pule 44 2.2.5 Зона метода 46 2.2.6. Постоянный бассейн 47 2.2.7 Прямая память 47 2.3 Hotspot Virtual Machine Object Expelicing Secret 48 2.3.1 Создание объектов 48 2.3.2 Планировка памяти объекта 51 2.3.3 Доступ к позиционированию объектов 52 2.4 Фактический бой: аномалии OutofmemoryError 53 2.4.1 переполнение кучи Java 54 2.4.2. 56 2.4.3 Зона метода и постоянный переполнение бассейна 61 2.4.4 Прямая переполнение памяти этой машины 65 2.5 Сводка этой главы 66 Глава 3 Стратегия распределения мусора и распределения памяти 67 3.1 Обзор 67 3.2 Объекты мертвы? 68 3.2.1 Алгоритм подсчета справочного материала 68 3.2.2 Алгоритм анализа активности 70 3.2.3. Поговорите о цитировании снова 71 3.2.4 Выживание или смерть? 72 3.2.5 Область метода переработки 74 3.3 Алгоритм сбора мусора 75 3.3.1 Теория сбора сбора 75 3.3.2 Алгоритм тега 77 3.3.3 Алгоритм TAG-COPION 78 3.3.4 Алгоритм сортирования тегов 79 3.4 Детали алгоритма горячей точки 81 3.4.1 Перечисление узлов 81 3.4.2 Точка безопасности 82 3.4.3 Зона безопасности 83 3.4.4 Таблица сбора памяти и карт 84 3.4.5 Напишите барьер 85 3.4.6 Доступный анализ параллелизма 87 3.5 Классический сборщик мусора 89 3.5.1 Серийный коллекционер 90 3.5.2 Коллекционер Parnew 92 3.5.3. 93 3.5.4 Серийный старый коллекционер 94 3.5.5 Параллельный старый коллекционер 95 3.5.6 CMS Collector 96 3.5.7. Первый коллектор мусора 98 3.6 Сборщик мусора с низкой задержкой 104 3.6.1 Shenandoah Collector 105 3.6.2 ZGC Collector 112 3.7 Выберите правильный сборщик мусора 121 3.7.1 Epsilon Collector 121 3.7.2 Баланс коллекционера 121 3.7.3 122 3.7.4 Сводка параметров коллекционеров мусора 127 3.8 Фактический бой: стратегия распределения памяти и утилизации 129 3.8.1 Объекты предпочтительнее в Эдема 130 3.8.2 Объекты непосредственно входят в старость 131 3.8.3 Цель долгосрочной выживания войдет в старость 132 3.8.4 Динамическое суждение возраста объекта 134 3.8.5 Гарантия распределения пространства 135 3.9 Резюме этой главы 137 Глава 4 Мониторинг производительности виртуальной машины, инструменты обработки разломов 138 4.1 Обзор 138 4.2 Основной инструмент лечения неисправностей 138 4.2.1 JPS: инструмент состояния процесса виртуальной машины 141 4.2.2 JSTAT: инструмент наблюдения за статистической информацией виртуальной машины 142 4.2.3 Jinfo: Информационный инструмент для конфигурации Java 143 4.2.4 Jmap: инструмент изображения памяти Java 144 4.2.5 JHAT: инструмент анализа моментальных стволов для хранения сбора виртуальной машины 145 4.2.6 JStack: инструмент отслеживания стека Java 146 4.2.7 Основное резюме инструмента 148 4.3 Инструмент обработки разломов визуализации 151 4.3.1 JHSDB: Инструменты отладки на основе прокси -сервера обслуживания 152 4.3.2 JConsole: консоль наблюдения и управления Java 157 4.3.3 VisualVM: инструменты с несколькими последовательными 164 4.3.4 Java Mission Control: устойчивый инструмент онлайн -мониторинга 171 4.4 Hotspot Virtual Machine Plug -In и инструменты 175 4.5 Сводка этой главы 180 Глава 5 Анализ настройки и борьба 181 5.1 Обзор 181 5.2 Анализ случая 181 5.2.1 Стратегия развертывания программы на крупном оборудовании памяти 182 5.2.2 Переполнение памяти, вызванное синхронизацией между кластерами 184 5.2.3 Эррозон, вызванный кучей памяти 185 5.2.4 Внешние команды приводят к медленной системе 187 5.2.5. 187 5.2.6 Неправильная структура данных приводит к слишком большому количеству занятий памяти 188 5.2.7 Длительная пауза, вызванная виртуальной памятью Windows 189 5.2.8 Блюда давно с точки зрения безопасности 190 5.3 Фактический бой: настройка скоростной настройки Eclipse Run 192 5.3.1. Перед настройкой. 193 5.3.2 Обновление изменений производительности и проблем совместимости версии JDK 196 5.3.3 Оптимизация времени компиляции и времени загрузки класса 200 5.3.4 Отрегулируйте настройки памяти для управления частотой сбора мусора 203 5.3.5 Выберите коллекционер, чтобы уменьшить задержку 206 5.4 Сводка этой главы 209 Третья часть виртуальной машины выполняет подсистему Глава 6 Структура файла класса 212 6.1 Обзор 212 6.2 Несвязанный краеугольный камень 212 6.3 Структура файла класса 214 6.3.1 Номер демонов и версия файла класса 215 6.3.2 Конституционный пул 218 6.3.3 Логотип доступа 224 6.3.4 Индекс класса, индекс индекса родителей и индекс интерфейса 225 6.3.5 Коллекция полевых таблиц 226 6.3.6 Сбор методов таблицы 229 6.3.7 Коллекция таблиц атрибутов 230 6.4 Профиль инструкции ByteCode 251 6.4.1 Bytecode и тип данных 251 6.4.2 Инструкции по загрузке и хранению 253 6.4.3 Компьютерные инструкции 254 6.4.4 Инструкция по конверсии типа 255 6.4.5 Инструкции по созданию и доступу объектов 256 6.4.6 256 6.4.7 Инструкции по передаче управления 257 6.4.8 Инструкции по вызову и возврату метода 257 6.4.9 Инструкции по аномальной обработке 258 6.4.10 Синхронные инструкции 258 6.5 Общественный дизайн, частная реализация 259 6.6 Разработка структуры файла класса 260 6.7 Сводка этой главы 261 Глава 7 Механизм загрузки виртуальной машины 262 7.1 Обзор 262 7.2 Время загрузки класса 263 7.3 Процесс загрузки класса 267 7.3.1 нагрузка 267 7.3.2 Проверка 268 7.3.3 Подготовка 271 7.3.4 Анализ 272 7.3.5 Инициализация 277 7.4 Классовый погрузчик 279 7.4.1 класс и загрузчик класса 280 7.4.2 Модель двойного назначения 281 7.4.3 Уничтожьте двухцветную модель назначения 285 7.5 модульная система Java 287 7.5.1 Совместимость модулей 288 7.5.2 Загрузчик класса под модулизованным 290 7.6 Сводка этой главы 292 Глава 8 Двигатель выполнения виртуальной машины. 293 8.1 Обзор 293 8.2 Запустите структуру кадра стека 294 8.2.1 Таблица локальной переменной 294 8.2.2. 299 8.2.3 Динамическое соединение 300 8.2.4. Адрес возврата метода 300 8.2.5 Дополнительная информация 301 8.3 Метод вызов 301 8.3.1 Анализ 301 8.3.2 баллов 303 8.4 Поддержка языка динамического типа 315 8.4.1 Язык динамического типа 316 8.4.2 Ява и динамические типы 317 8.4.3 Java.lang.invoke Bag 318 8.4.4 Инструкции вызванных 321 8.4.5 Фактическая борьба: правила распределения методов управления 324 8.5 на основе интерпретации байт -кодов двигателя интерпретации стека 326 8.5.1 Объяснение исполнение 327 8.5.2 Набор инструкций на основе стека и набор инструкций на основе регистрации 328 8.5.3 Процесс выполнения на основе интерпретатора на основе стека на основе стека 329 8.6 Резюме этой главы 334 Глава 9 Случаи погрузки и исполнительных систем и случаев и реальной войны 335 9.1 Обзор 335 9.2 Анализ случая 335 9.2.1 Tomcat: Православная архитектура загрузчика класса 335 9.2.2 OSGI: Гибкая архитектура загрузчика класса 338 9.2.3 Технология генерации байт -кодов и динамическая реализация прокси -сервера 341 9.2.4 Инструмент за возврат: 345 9.3 Фактический бой: самостоятельно реализуйте функцию удаленного выполнения 348 9.3.1 Цель 348 9.3.2 мышление 349 9.3.3 Реализация 350 9.3.4 Проверка 355 9.4 Резюме этой главы 356 Часть 4 программы компиляции и оптимизация кода Глава 10 Pre -Fend Компиляция и оптимизация 358 10.1 Обзор 358 10.2 Javac Compiler 359 10.2.1 Исходный код и отладка Javac 359 10.2.2 Анализ и таблица символов заполнения 362 10.2.3 Примечание процессора 363 10.2.4 Семантический анализ и генерация байт -кодов 364 10.3 Синтаксис Java Sugar Taste 367 10.3.1 Общий тип 367 10.3.2 Автоматическое бокс, разборка и цикл обхода 375 10.3.3 Компиляция условий 377 10.4 Фактический бой: вставленный процессор аннотации 378 10.4.1 Фактическая боевая цель 379 10.4.2 Реализация кода 379 10.4.3 запустить и проверить 385 10.4.4 Другие случаи применения 386 10.5 Сводка этой главы 386 Глава 11 Бэк -Компиляция и оптимизация 388 11.1 Обзор 388 11.2 Мгновенный компилятор 389 11.2.1 Интерпретатор и компилятор 389 11.2.2 Компиляция объектов и условия запуска 392 11.2.3 Процесс компиляции 397 11.2.4 Фактическая борьба: просмотреть и проанализировать результаты мгновенного компиляции 398 11.3 Ранний компилятор 404 11.3.1 Скомпилированные преимущества и недостатки, составленные заранее 405 11.3.2 Фактическая борьба: ранняя компиляция JAOTC 408 11.4 Технология оптимизации компилятора 411 11.4.1 Оптимизированный обзор технологий 411 11.4.2 Метод внутренний куплет 415 11.4.3 Анализ побега 417 11.4.4 420 11.4.5 Устранение обследования границ массива 421 11.5 Фактический бой: в -depth понимание компилятора Graal 423 11.5.1 Исторический фон 423 11.5.2. Построить среду компиляции и ввода в эксплуатацию 424 11.5.3 Интерфейс компилятора JVMCI 426 11.5.4 Код в среднем представительстве 429 11.5.5 Оптимизация кода и генерация 432 11.6 Сводка этой главы 436 Часть 5 Эффективная одновременная Глава 12 Модель и поток памяти Java 438 12.1 Обзор 438 12.2 Эффективность и согласованность аппаратного обеспечения 439 12.3 модель памяти Java 440 12.3.1 Основная память и рабочая память 441 12.3.2 Интерактивная операция памяти 442 12.3.3 Специальные правила для переменных летучих типов 444 12.3.4 Специальные правила для длинных и двойных переменных 450 12.3.5 атомность, видимость и порядок 450 12.3.6 Принципы заранее 452 12.4 Java и потоки 455 12.4.1 Реализация потоков 455 12.4.2. 458 12.4.3 Преобразование статуса 460 12.5 Java и корпоративная 461 12.5.1 Ограничения резьбы ядра 461 12.5.2 Восстановление Coroutine 462 12.5.3 Java Solution 464 12.6 Резюме этой главы 465 Глава 13 Проблема безопасности и оптимизация блокировки 466 13.1 Обзор 466 13.2 Безопасность потока 466 13.2.1 Безопасность потока на языке Java 467 13.2.2 Метод реализации безопасности потока 471 13.3 Оптимизация блокировки 479 13.3.1 Self -Spin Lock и Adaptive Self -Rotation 479 13.3.2 Устранение блокировки 480 13.3.3 Заблокировать грубую 481 13.3.4 Легкий замок 481 13.3.5 BIAS Lock 483 13.4 Резюме этой главы 485 Приложение A Compiles OpenJDK 6 в системе Windows 486 Приложение B С нетерпением жду будущего технологии Java (Edition 2013) 493 Приложение C Таблица инструкции по коду виртуального машины 499 Приложение D Объект объекта Язык (OQL) Введение 506 Приложение E JDK Историческая версия трек 512 Предисловие Глава 1 Задача программирования 1 1.1 Переключение 1 Контекст 1 1.1.1 Multi -Thread должен быть быстрым? 1.1.2 Проверьте число и длину контекстного переключателя 3 3 1.1.3 Как уменьшить контекстный переключатель 3 1.1.4 Уменьшите переключение контекста фактическое борьбу 4 1.2 Dead Lock 5 1.3 Задача лимита ресурса 6 1.4 Резюме этой главы 7 Глава 2 Принципы реализации подземной реализации Java -параллельного механизма 8 2.1 летучие применения 8 2.2 Синхронизированный принцип реализации и приложение 11 2.2.1 Java Object Head 12 2.2.2 Обновление и сравнение замков 13 2.3 Принципы атомной операции 16 2.4 Резюме этой главы 20 Глава 3 Модель памяти Java 21 3.1 Основа модели памяти Java 21 3.1.1 Два ключевых вопроса одновременного программирования модели 21 3.1.2 Абстрактная структура модели памяти Java 22 3.1.3 Сортировка из исходного кода до последовательности инструкций 23 3.1.4 Классификация модели параллельного программирования 24 3.1.5. 3.2 Сорт 27 3.2.1 Зависимость данных 28 3.2.2 AS-IF-сериал Семантика 28 3.2.3 Правила заказа программы 29 3.2.4 Влияние тяжелой сортировки на многочисленную 29 3.3 последовательность последовательности 31 3.3.1 Конкуренция данных и последовательность последовательности 31 3.3.2 Модель памяти 32 последовательности. 3.3.3 Эффект синхронной программы 34 3.3.4 Особенности выполнения не синхронизированных программ 35 3.4 Семантика памяти Volatile 38 3.4.1 летучие функции 38 3.4.2 levatile rhiteforing hapens-before отношения 39 3.4.3 Семантика летучей записи памяти 40 3.4.4. Служба летучей памяти 42 3.4.5 JSR-133 Зачем улучшить семантику памяти Volatile 46 3.5 Симптом памяти блокировки 47 3.5.1 Выпуск блокировки 3.5.2. Семантика выпуска и памяти замков 48 3.5.3 Реализация семантической семантической семантики 50 3.5.4 Реализация параллельного пакета 54 3.6 Семантика памяти в конечном домене 55 3.6.1 Правила ограничения окончательного домена 55 3.6.2 Правила ограничения окончательного домена 56 3.6.3 Прочитайте правила ограничения окончательного домена 57 3.6.4 Окончательный домен - это ссылочный тип 58 3.6.5 Почему окончательная ссылка не может быть в пределах конструктора“ переполнение” 59 3.6.6 Окончательная семантика в реализации процессора 61 3.6.7 JSR-133 Зачем улучшить семантику Final 62 3.7 happens-before 62 3.7.1 JMM Design 62 3.7.2 Определение Hapens-Before 64 3.7.3 Hapens-Befor 3.8 Двойная проверка блокировка и инициализация задержки 67 3.8.1 Двойная проверка блокировки 67 3.8.2 Корская причина задачи 69 3.8.3 Решение на основе летучих 71 3.8.4 Решение на основе инициализации класса 72 3.9 Обзор модели памяти Java 78 3.9.1 Модель памяти процессора 78 3.9.2 Отношения между различными моделями памяти 80 3.9.3 JMM Гарантия видимости памяти 80 3.9.4 JSR-133 Ремонт для старой модели памяти 81 3.10 Эта глава является резюме 82 Глава 4 Основы программирования Java 83 4.1 Введение потока 83 4.1.1 Что такое нить 83 4.1.2 Зачем использовать мульти -thread 84 4.1.3 Приоритет потока 85 4.1.4 Статус потока 87 4.1.5 Тейд демонов 90 4.2 Запуск и прекращение потока 91 4.2.1 Структурная резьба 91 4.2.2 Запуск нить 92 4.2.3 Понимание прерывания 92 4.2.4 Срок действия приостановки (), resume () и stop () 93 4.2.5. 4.3. 4.3.1 Ключевое слово 96. 4.3.2 Механизм ожидания/уведомление 98 4.3.3 Рай 101 Ожидание/уведомление 101 4.3.4 Входной/выходной поток трубы 102 4.3.5 Thread.join () Используйте 103 4.3.6. Использование Threadlocal 105 4.4 Экземпляр приложения потока 106 4.4.1 Режим времени ожидания 106 4.4.2. Пример пула подключений к базе данных 106 4.4.3 Технология пула потоков и ее пример 110 4.4.4 Простой веб -сервер на основе технологии пула потоков 114 4.5 Резюме этой главы 118 Глава 5 Замок в Java 119 5.1 Интерфейс блокировки 119 5.2 Синхронизатор очереди 121 5.2.1 Интерфейс и пример синхронизатора очереди 121 5.2.2 Анализ реализации синхронизатора очереди 124 5.3 re -cincomming Lock 136 5.4 Чтение и написание блокировки 140 5.4.1 Интерфейс и пример 141 чтения и записи замков 5.4.2 Анализ чтения и письма блокировки 142 5.5 Инструмент LockSupport 146 5.6 Интерфейс состояния 147 5.6.1 Интерфейс условий и пример 148 5.6.2 Анализ реализации условия 150 5.7 Резюме этой главы 154 Глава 6 Java и ANS и Framework 155 6.1 6.1.1 Зачем использовать concurrenthashmap 155 6.1.2 Структура Confurrenthashmap 156 6.1.3 Инициализация 157 Concurrenthashmap 157 6.1.4 Сегмент позиционирования 159 6.1.5 Работа concurrenthashmap 160 6.2 ConcurrentLinkedQueue 161 6.2.1. 6.2.2 Введите очередь 162 6.2.3 Questing 165 6.3 Блокировка очереди в Java 167 6.3.1 Что такое очередь блокировки 167 6.3.2 Очередь блокировки на Java 168 6.3.3 6.4 Форма/КОНФЕРАЦИЯ СМИ 175 6.4.1 Что такое Fork/Join Framework 175 6.4.2 Алгоритм кражи работы 176 6.4.3 Дизайн вилки/соединения фреймворка 177 6.4.4 Используйте вилку/соединение. 6.4.5 Аномальная обработка рамки вилки/соединения 179 6.4.6 6.5 Сводка этой главы 181 Глава 7 13 Атомные операции в Java 182 7.1 Атомное обновление базового типа класс 182 7.2 Массив атомного обновления 184 7.3 Атомное обновление цитирование типа 185 7.4 Атомное обновление полевого класса 187 7.5 Резюме этой главы 188 ГЛАВА 8 Класс параллельного инструмента в Java 189 8.1 В ожидании многочисленного Countdownlatch 189 8.2 Синхронный барьер Cyclicbarrier 191 8.2.1 Введение в Cyclicbarrier 8.2.2 Сцена применения Cyclickbarrier 193 Различия 8.2.3 Cyclicbarrier и Countdownlatch 195 8.3 Semaphore 196 контролировал количество одновременных потоков 8.4 Exchanger 198 Обменными данными между потоками 8.5 Эта глава - резюме 199 Глава 9 The Thread Pool 200 в Java 200 9.1 Принцип реализации пула Thread 200 9.2 Использование пула потоков 203 9.2.1 Создание The Thread Pool 203 9.2.2 Отправить миссию в пул ниток 205 9.2.3 ЗАКРЫТЬ БЛАБОРТА НИДЫ 205 9.2.4 Разумные потоки конфигурации. Пул 206 9.2.5 Мониторинг пула потоков 206 9.3 Резюме этой главы 207 Глава 10 Рамки исполнителя 208 10.1 Executor Framework Введение 208 10.1.1 Двухвелевая модель диспетчерского диспетчерского пласта 208 10.1.2 Структура структуры исполнителя и члена 208 10.2 Threadpoolexecutor Подробное объяснение 213 10.2.1 Подробное объяснение FixedThreadpool 213 10.2.2 SingleThreadExeCutor Подробное объяснение 214 10.2.3 CachedThreadpool Подробное объяснение 215 10.3 DearledThreadPoolexeCutor Подробное объяснение 217 10.3.1 Рабочий механизм 217. 10.3.2 Реализация 218. 10.4 FutureTask подробное объяснение 221 10.4.1 FutureTask Введение 222 10.4.2 FutureTask Использование 222 10.4.3 Реализация FutureTask 224 10.5 Эта глава является резюме 227 ГЛАВА 11 Ява параллельная практика программирования 228 11.1 Производитель и потребительский модель 228 11.1.1. 11.1.2 Multi -producer и Multi -Consumer Scene 231 11.1.3. Модель потребительского бассейна и производства. 11.2 Онлайн -позиционирование 234 11.3 Тест на производительность 236 11.4 Асинхронное пул задач 238 11.5 Резюме этой главы 240 |
об авторе | |
Чжоу Чжиминг (доктор) Старшие технические эксперты Java, эксперты по технологиям машинного обучения и эксперты по развитию развития предприятия, а в настоящее время декан Института исследований программного обеспечения с высоким уровнем программного обеспечения. Активные защитники и промоутеры технологий с открытым исходным кодом имеют глубокое понимание нескольких областей, связанных с информатикой, особенно искусственным интеллектом, технологией Java, а также гибкой разработкой и т. Д., И проводят глубокие исследования по технологии виртуальных машин. Написал ряд книг, таких как «В -depth понимание виртуальных машин Java», «Глубокое понимание Осги», «Границы мудрости» и переведенные работы, такие как «спецификации виртуальной машины Java».Среди них «в глубине понимания виртуальной машины Java» было напечатано более 36 раз, с общими продажами более 300 000 экземпляров, что стало памятником, которое трудно превзойти область оригинальных компьютерных профессиональных книг. |