Полное руководство по передовым методикам программирования на современных платформах Java!
Говоря о третьем издании книги Эффективное программирование на Java, третье издание, достаточно упомянуть его автора — Джошуа Блоха — и это будет наилучшей ее рекомендацией.
Книга представляет собой овеществленный опыт ее автора как программиста на Java. Новые возможности этого языка программирования, появившиеся в версиях, вышедших со времен предыдущего издания книги, по сути знаменуют появление совершенно новых концепций, так что для их эффективного использования недостаточно просто узнать об их существовании, и программировать на современном Java с использованием старых парадигм.
К программированию в полной мере относится фраза Евклида о том, что в геометрии нет царских путей. Но пройти путь изучения и освоения языка программирования вам может помочь проводник, показывающий наиболее интересные места и предупреждающий о ямах и ухабах. Таким проводником может послужить книга Джошуа Блоха. С ней вы не заблудитесь и не забредете в дебри, из которых будете долго и трудно выбираться с помощью отладчика.
При этом книга не просто научит вас использовать новые возможности языка — она научит использовать их эффективно. Но и это не все — книга не просто учит эффективному применению Java, но еще и рассказывает, почему ту или иную задачу следует решать именно так.
Эта книга заставляет вас не просто заучить правила — она заставляет думать.
И хотя эта книга в первую очередь предназначена для энтузиастов и профессионалов, она достойна места на полке любого программиста — как профессионала, так и зеленого новичка.
Язык программирования Java существенно изменился со времени предыдущего издания книги, опубликованного вскоре после выпуска Java 6. Этот классический труд тщательно обновлен, чтобы читатели могли в полной мере воспользоваться возможностями последних версий языка и его библиотек функций. В современном Java поддерживается несколько парадигм программирования. Поэтому программисты часто испытывают потребность в конкретных рекомендациях, которые и описаны в данной книге.
Как и в предыдущих изданиях, каждая глава книги состоит из ряда разделов, в каждом из которых описаны конкретные советы, приведены тонкости платформы Java и содержатся обновленные примеры кода. Для каждой темы приводится всеобъемлющее описание и пояснения, как следует поступить в данном случае, как не следует, и почему.
Третье издание охватывает особенности языка программирования и библиотек, появившихся в Java 7, 8 и 9, в том числе конструкции функционального программирования, добавленные к своим объектно-ориентированным корням. В книгу включены также многие новые советы, а также глава, посвященная лямбда-выражениям и потокам.
Основные темы книги
- Функциональные интерфейсы, лямбда-выражения, ссылки на методы и потоки
- Методы по умолчанию и статические методы в интерфейсах
- Вывод типа, включая оператор ромб для обобщенных типов
- Аннотация @SafeVarargs
- Конструкция try-с-ресурсами
- Новые возможности библиотек, такие как интерфейс Optional, java.time и удобные фабричные методы для коллекций
Об авторе
Джошуа Блох — профессор в университете Карнеги-Меллона. Ранее он был главным архитектором Java в Google, заслуженным инженером в Sun Microsystems и старшим системным дизайнером в Transarc. Он возглавлял разработку и реализацию многочисленных возможностей платформы Java, включая усовершенствования в JDK 5.0 и инфраструктуру коллекций Java. Джошуа получил докторскую степень в области компьютерных наук в университете Карнеги-Меллона и степень бакалавра наук в области компьютерных наук в Колумбийском университете.
Оглавление
Вступительное слово 13
Предисловие 15
Благодарности 19
Глава 1. Введение 25
Глава 2. Создание и уничтожение объектов 29
Глава 3. Методы, общие для всех объектов 67
Глава 4. Классы и интерфейсы 109
Глава 5. Обобщенное программирование 159
Глава 6. Перечисления и аннотации 203
Глава 7. Лямбда-выражения и потоки 245
Глава 8. Методы 283
Глава 9. Общие вопросы программирования 321
Глава 10. Исключения 359
Глава 11. Параллельные вычисления 381
Глава 12. Сериализация 413
Приложение. Соответствие статей второго издания
разделам третьего издания 445
Список литературы 449
Предметный указатель 453
Розгорнути ⇓