Философия Java. Библиотека программиста
Эккель Б.
Java нельзя понять, взглянув на него только как на коллекцию некоторых характеристик, - необходимо понять задачи этого языка как частные задачи программирования в целом.
Эта книга - о проблемах программирования: почему они стали проблемами, и какой подход использует Java в их решении. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.
Эта книга, выдержавшая в оригинале не одно переиздание, за глубокое и поистине философское изложение тонкостей языка считается одним из лучших пособий для программирующих на Java. В издании автор постарался полностью интегрировать усовершенствования Java SE5/6, включить и использовать их во всей книге.
Издание четвертое.
Издательство: Питер, 2009 г.
ISBN 978-5-388-00003-3, 978-0-0131872486
Количество страниц: 640.
Содержание книги «Философия Java. Библиотека программиста»:
- 13 Предисловие
- 14 Java SE5 и SE6
- 14 Благодарности
- 17 Глава 1. Введение в объекты
- 18 Развитие абстракции
- 20 Объект имеет интерфейс
- 22 Объект предоставляет услуги
- 23 Скрытая реализация
- 24 Повторное использование реализации
- 25 Наследование
- 29 Взаимозаменяемые объекты и полиморфизм
- 33 Однокорневая иерархия
- 33 Контейнеры
- 35 Параметризованные типы
- 36 Создание, использование объектов и время их жизни
- 38 Обработка исключений: борьба с ошибками
- 38 Параллельное выполнение
- 39 Java и Интернет
- 47 Резюме
- 48 Глава 2. Все является объектом
- 48 Для работы с объектами используются ссылки
- 49 Все объекты должны создаваться явно
- 53 Объекты никогда не приходится удалять
- 54 Создание новых типов данных
- 56 Методы, аргументы и возвращаемые значения
- 58 Создание программы на Java
- 60 Ключевое слово static
- 61 Наша первая программа на Java
- 64 Комментарии и встроенная документация
- 70 Стиль оформления программ
- 70 Резюме
- 71 Глава 3. Операторы
- 71 Простые команды печати
- 72 Операторы Java
- 82 Литералы
- 92 В Java отсутствует sizeof()
- 100 Резюме
- 101 Глава 4. Управляющие конструкции
- 105 Синтаксис foreach
- 107 return
- 108 break и continue
- 109 Нехорошая команда goto
- 115 Резюме
- 116 Глава 5. Инициализация и завершение
- 116 Конструктор гарантирует инициализацию
- 118 Перегрузка методов
- 130 Очистка: финализация и сборка мусора
- 137 Инициализация членов класса
- 140 Инициализация конструктором
- 146 Инициализация массивов
- 151 Резюме
- 152 Глава 6. Управление доступом
- 153 Пакет как библиотечный модуль
- 159 Спецификаторы доступа Java
- 163 Интерфейс и реализация
- 164 Доступ к классам
- 167 Резюме
- 169 Глава 7. Повторное использование классов
- 170 Синтаксис композиции
- 172 Синтаксис наследования
- 176 Делегирование
- 178 Сочетание композиции и наследования
- 184 Композиция в сравнении с наследованием
- 185 protected
- 186 Восходящее преобразование типов
- 188 Ключевое слово final
- 195 Инициализация и загрузка классов
- 197 Резюме
- 198 Глава 8. Полиморфизм
- 199 Снова о восходящем преобразовании
- 201 Особенности
- 208 Конструкторы и полиморфизм
- 216 Ковариантность возвращаемых типов
- 217 Разработка с наследованием
- 220 Резюме
- 221 Глава 9. Интерфейсы
- 221 Абстрактные классы и методы
- 224 Интерфейсы
- 227 Отделение интерфейса от реализации
- 233 Расширение интерфейса через наследование
- 236 Интерфейсы как средство адаптации
- 239 Вложенные интерфейсы
- 242 Интерфейсы и фабрики
- 244 Резюме
- 245 Глава 10. Внутренние классы
- 245 Создание внутренних классов
- 246 Связь с внешним классом
- 248 Конструкции .this и .new
- 249 Внутренние классы и восходящее преобразование
- 253 Безымянные внутренние классы
- 261 Внутренние классы: зачем?
- 272 Наследование от внутренних классов
- 272 Можно ли переопределить внутренний класс?
- 274 Локальные внутренние классы
- 276 Резюме
- 277 Глава 11. Коллекции объектов
- 277 Параметризованные и типизованные контейнеры
- 280 Основные концепции
- 281 Добавление групп элементов
- 285 List
- 288 Итераторы
- 291 LinkedList
- 292 Стек
- 294 Множество
- 296 Карта
- 298 Очередь
- 299 PriorityQueue
- 301 Collection и Iterator
- 306 Идиома "метод-адаптер"
- 309 Резюме
- 310 Глава 12. Обработка ошибок и исключения
- 310 Основные исключения
- 312 Перехват исключений
- 314 Создание собственных исключений
- 319 Спецификации исключений
- 320 Перехват произвольных исключений
- 328 Стандартные исключения Java
- 330 Завершение с помощью finally
- 334 Использование finally с return
- 336 Ограничения при использовании исключений
- 339 Конструкторы
- 343 Идентификация исключений
- 344 Альтернативные решения
- 351 Резюме
- 352 Глава 13. Информация о типах
- 352 Необходимость в динамическом определении типов (RTTI)
- 372 Регистрация фабрик
- 376 Рефлексия: динамическая информация о классе
- 380 Динамические посредники
- 384 Объекты с неопределенным состоянием
- 390 Интерфейсы и информация о типах
- 394 Резюме
- 397 Глава 14. Параметризация
- 398 Простая параметризация
- 404 Параметризованные интерфейсы
- 407 Параметризованные методы
- 419 Построение сложных моделей
- 437 Ограничения
- 440 Метасимволы
- 452 Резюме
- 454 Глава 15. Массивы
- 454 Особенности массивов
- 456 Массив как объект
- 458 Возврат массива
- 460 Многомерные массивы
- 463 Массивы и параметризация
- 465 Создание тестовых данных
- 470 Создание массивов с использованием генераторов
- 474 Вспомогательный инструментарий Arrays
- 482 Резюме
- 483 Глава 16. Система ввода/вывода Java
- 484 Класс File
- 489 Ввод и вывод
- 491 Добавление атрибутов и интерфейсов
- 494 Классы Reader и Writer
- 497 RandomAccessFile: сам по себе
- 498 Типичное использование потоков ввода/вывода
- 505 Средства чтения и записи файлов
- 507 Стандартный ввод/вывод
- 510 Новый ввод/вывод (nio)
- 531 Сжатие данных
- 536 Сериализация объектов
- 553 Предпочтения
- 555 Резюме
- 557 Глава 17. Параллельное выполнение
- 559 Класс Thread
- 561 Исполнители
- 578 Совместное использование ресурсов
- 598 Взаимодействие между потоками
- 602 Взаимная блокировка
- 607 Новые библиотечные компоненты
- 607 CountDownLatch
- 609 CyclicBarrier
- 611 DelayQueue
- 614 PriorityBlockingQueue
- 619 Семафоры
- 623 Exchanger
- 624 Моделирование
- 629 Резюме
- 631 Алфавитный указатель
Инструкция как скачать книгу Эккель Б.: Философия Java. Библиотека программиста в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.