Мужские правила. Отношения, секс, психология Жесткий подход Дэна Кеннеди Искусство обмана. Социальная инженерия в мошеннических схемах
 
Наши проекты:
Вход для зарегистрированных пользователей
Регистрация нового пользователя
Каталог книг Новинки Анонсы Заказы / Корзина Рассылка Оплата и Доставка Контакты
Вы находитесь в разделе каталога:
• Философия Java. 4-е полное изд., Брюс Эккель


Философия Java. 4-е полное изд.
Философия Java. 4-е полное изд.
Брюс Эккель
Год выпуска: 2016
Изд-во: Питер
ISBN: 978-5-496-01127-3
Переплёт: твердый
1168 страниц
Цена: 998.00 грн.
Временно отсутствует     Оставить заявку

Впервые читатель может познакомиться с полной версией классического труда "Философия Java", который ранее на русском языке печатался в сокращении. Книга, выдержавшая в оригинале не одно переиздание, за глубокое и поистине философское изложение тонкостей языка Java считается одним из лучших пособий для программистов. Чтобы по-настоящему понять язык Java, необходимо рассматривать его не просто как набор неких команд и операторов, а понять его "философию", подход к решению задач, в сравнении с таковыми в других языках программирования.

На страницах книги "Философия Java. 4-е полное издание" Брюс Эккель рассказывает об основных проблемах написания кода: в чем их природа и какой подход использует Java в их разрешении. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.




Содержание книги Брюса Эккеля "Философия Java. 4-е полное издание"



Предисловие .............................................................................................................25
Java SE5 и SE6 ..................................................................................................................................26
Java SE6...............................................................................................................................................27
Четвертое издание...........................................................................................................................27
Изменения..........................................................................................................................................27
Предпосылки.....................................................................................................................................34
Изучение Java ...................................................................................................................................34
Цели......................................................................................................................................................35
Обучение по материалам книги .................................................................................................36
HTML-документация JDK...........................................................................................................36
Ошибки...............................................................................................................................................39

Глава 1. Введение в объекты...................................................................................40

Глава 2. Все является объектом ..............................................................................70
Для работы с объектами используются ссылки....................................................................70
Все объекты должны создаваться явно....................................................................................71
Где хранятся данные ...................................................................................................................72
Особый случай: примитивные типы.....................................................................................73
Числа повышенной точности................................................................................................74
Массивы в Java .............................................................................................................................74
Объекты никогда не приходится удалять...............................................................................75
Ограничение области действия ..............................................................................................75
Область действия объектов......................................................................................................76
Создание новых типов данных ...................................................................................................76
Поля и методы ..............................................................................................................................77
Значения по умолчанию для полей примитивных типов...........................................78
Методы, аргументы и возвращаемые значения ....................................................................78
Список аргументов......................................................................................................................79
Создание программы на Java.......................................................................................................80
Видимость имен ...........................................................................................................................80
Использование внешних компонентов ................................................................................81
Ключевое слово static.....................................................................................................................82
Ваша первая программа на Java..................................................................................................83
Компиляция и выполнение......................................................................................................85
Комментарии и встроенная документация ............................................................................87
Документация в комментариях ..............................................................................................87
Синтаксис.......................................................................................................................................88
Встроенный HTML.....................................................................................................................88
Примеры тегов..............................................................................................................................89
@see: ссылка на другие классы..............................................................................................89
{@link пакет.класс#член_класса метка}............................................................................89
{@docRoot}...................................................................................................................................90
{@inheritDoc} ..............................................................................................................................90
@version ........................................................................................................................................90
@author..........................................................................................................................................90
@since.............................................................................................................................................90
@param...........................................................................................................................................90
@return ..........................................................................................................................................90
@throws.........................................................................................................................................91
@deprecated..................................................................................................................................91
Пример документации...............................................................................................................91
Стиль оформления программ .....................................................................................................92
Резюме.................................................................................................................................................92
Упражнения.......................................................................................................................................93

Глава 3. Операторы ..................................................................................................95
Простые команды печати..............................................................................................................95
Операторы Java ................................................................................................................................96
Приоритет.......................................................................................................................................96
Присваивание................................................................................................................................97
Совмещение имен во время вызова методов ...................................................................98
Математические операторы.....................................................................................................99
Унарные операторы плюс и минус...................................................................................... 101
Автоувеличение и автоуменьшение................................................................................... 101
Операторы сравнения ............................................................................................................. 103
Проверка объектов на равенство ...................................................................................... 103
Логические операторы............................................................................................................ 104
Ускоренное вычисление....................................................................................................... 105
Литералы......................................................................................................................................... 106
Экспоненциальная запись ..................................................................................................... 108
Поразрядные операторы ........................................................................................................ 109
Операторы сдвига..................................................................................................................... 110
Тернарный оператор ................................................................................................................ 113
Операторы + и += для String................................................................................................ 114
Типичные ошибки при использовании операторов...................................................... 115
Операторы приведения........................................................................................................... 116
Округление и усечение........................................................................................................... 117
Повышение............................................................................................................................... 118
В Java отсутствует sizeof............................................................................................................. 118
Сводка операторов ................................................................................................................... 118
Резюме.............................................................................................................................................. 126

Глава 4. Управляющие конструкции.................................................................... 127
true и false..................................................................................................................................... 127
if-else .............................................................................................................................................. 127
Циклы ........................................................................................................................................... 128
do-while......................................................................................................................................... 129
for.................................................................................................................................................... 129
Оператор-запятая ..................................................................................................................... 131
Синтаксис foreach......................................................................................................................... 131
return................................................................................................................................................. 133
break и continue ............................................................................................................................. 134
Нехорошая команда goto ........................................................................................................... 136
switch............................................................................................................................................. 140
Резюме.............................................................................................................................................. 142

Глава 5. Инициализация и завершение............................................................... 143
Конструктор гарантирует инициализацию......................................................................... 143
Перегрузка методов ..................................................................................................................... 145
Различение перегруженных методов................................................................................. 147
Перегрузка с примитивами ................................................................................................... 148
Перегрузка по возвращаемым значениям........................................................................ 151
Конструкторы по умолчанию............................................................................................... 152
Ключевое слово this................................................................................................................. 153
Вызов конструкторов из конструкторов .......................................................................... 155
Значение ключевого слова static ......................................................................................... 156
Очистка: финализация и уборка мусора .............................................................................. 157
Для чего нужен метод finalize()? ......................................................................................... 158
Очистка - ваш долг ................................................................................................................. 159
Условие "готовности" ............................................................................................................. 159
Как работает уборщик мусора.............................................................................................. 161
Инициализация членов класса ................................................................................................ 164
Явная инициализация............................................................................................................. 165
Инициализация конструктором.............................................................................................. 167
Порядок инициализации........................................................................................................ 167
Инициализация статических данных................................................................................ 168
Явная инициализация статических членов..................................................................... 171
Инициализация нестатических данных экземпляра ................................................. 172
Инициализация массивов ......................................................................................................... 173
Списки аргументов переменной длины............................................................................ 177
Перечисления ................................................................................................................................ 182
Резюме.............................................................................................................................................. 184

Глава 6. Управление доступом ............................................................................. 186
Пакет как библиотечный модуль............................................................................................ 187
Структура кода .......................................................................................................................... 188
Создание уникальных имен пакетов.................................................................................. 190
Конфликты имен.................................................................................................................... 192
Пользовательские библиотеки............................................................................................. 193
Использование импортирования для изменения поведения.................................... 194
Предостережение при работе с пакетами......................................................................... 195
Спецификаторы доступа Java .................................................................................................. 195
Доступ в пределах пакета....................................................................................................... 195
public.............................................................................................................................................. 196
Пакет по умолчанию ............................................................................................................. 197
private............................................................................................................................................ 197
protected ....................................................................................................................................... 198
Интерфейс и реализация ........................................................................................................... 200
Доступ к классам .......................................................................................................................... 201
Резюме.............................................................................................................................................. 205

Глава 7. Повторное использование классов........................................................ 206
Синтаксис композиции .............................................................................................................. 206
Синтаксис наследования ........................................................................................................... 209
Инициализация базового класса......................................................................................... 211
Конструкторы с аргументами ............................................................................................ 212
Делегирование............................................................................................................................... 214
Сочетание композиции и наследования............................................................................... 215
Обеспечение правильного завершения............................................................................. 217
Сокрытие имен .......................................................................................................................... 220
Композиция в сравнении с наследованием......................................................................... 221
protected........................................................................................................................................... 222
Восходящее преобразование типов........................................................................................ 224
Почему "восходящее преобразование"? .......................................................................... 224
Снова о композиции с наследованием............................................................................ 225
Ключевое слово final.................................................................................................................... 226
Неизменные данные ................................................................................................................ 226
Пустые константы.................................................................................................................. 228
Неизменные аргументы ....................................................................................................... 229
Неизменные методы ................................................................................................................ 229
Спецификаторы final и private........................................................................................... 230
Неизменные классы................................................................................................................. 231
Предостережение ...................................................................................................................... 232
Инициализация и загрузка классов....................................................................................... 233
Инициализация с наследованием....................................................................................... 234
Резюме.............................................................................................................................................. 235

Глава 8. Полиморфизм.......................................................................................... 237
Снова о восходящем преобразовании ................................................................................... 238
Потеря типа объекта ................................................................................................................ 239
Особенности................................................................................................................................... 240
Связывание "метод-вызов"................................................................................................... 240
Получение нужного результата ........................................................................................... 241
Расширяемость .......................................................................................................................... 244
Проблема: "переопределение" закрытых методов........................................................ 247
Проблема: поля и статические методы.............................................................................. 248
Конструкторы и полиморфизм................................................................................................ 249
Порядок вызова конструкторов........................................................................................... 249
Наследование и завершающие действия.......................................................................... 251
Поведение полиморфных методов при вызове из конструкторов .......................... 256
Ковариантность возвращаемых типов .................................................................................. 258
Наследование при проектировании....................................................................................... 259
Нисходящее преобразование и динамическое определение типов......................... 260
Резюме.............................................................................................................................................. 261

Глава 9. Интерфейсы............................................................................................. 263
Абстрактные классы и методы................................................................................................. 263
Интерфейсы ................................................................................................................................... 266
Отделение интерфейса от реализации.................................................................................. 270
"Множественное наследование" в Java................................................................................ 274
Расширение интерфейса через наследование..................................................................... 276
Конфликты имен при совмещении интерфейсов.......................................................... 278
Интерфейсы как средство адаптации.................................................................................... 279
Поля в интерфейсах................................................................................................................. 281
Инициализация полей интерфейсов ................................................................................. 281
Вложенные интерфейсы ............................................................................................................ 282
Интерфейсы и фабрики ............................................................................................................. 285
Резюме.............................................................................................................................................. 287

Глава 10. Внутренние классы ............................................................................... 288
Создание внутренних классов ................................................................................................. 288
Ссылка на внешний класс...................................................................................................... 290
.this и .new ....................................................................................................................................... 292
Внутренние классы и восходящее преобразование.......................................................... 293
Внутренние классы в методах и областях действия......................................................... 295
Анонимные внутренние классы .............................................................................................. 297
Снова о паттерне "Фабричный метод"................................................................................. 301
Вложенные классы....................................................................................................................... 303
Классы внутри интерфейсов................................................................................................. 305
Доступ вовне из многократно вложенных классов....................................................... 306
Внутренние классы: зачем?....................................................................................................... 306
Замыкания и обратные вызовы ........................................................................................... 309
Внутренние классы и система управления...................................................................... 311
Наследование от внутренних классов................................................................................... 317
Можно ли переопределить внутренний класс? ................................................................. 318
Локальные внутренние классы............................................................................................ 319
Идентификаторы внутренних классов ............................................................................. 321
Резюме.............................................................................................................................................. 322

Глава 11. Коллекции объектов............................................................................. 323
Обобщенные типы и классы, безопасные по отношению к типам.............................. 324
Основные концепции.................................................................................................................. 327
Добавление групп элементов ................................................................................................... 329
Вывод контейнеров .................................................................................................................. 330
List...................................................................................................................................................... 333
Итераторы....................................................................................................................................... 336
ListIterator................................................................................................................................... 339
LinkedList ....................................................................................................................................... 340
Стек ................................................................................................................................................... 341
Множество ...................................................................................................................................... 343
Map .................................................................................................................................................... 346
Очередь ............................................................................................................................................ 350
PriorityQueue ................................................................................................................................. 351
Collection и Iterator ..................................................................................................................... 353
Foreach и итераторы .................................................................................................................... 356
Идиома "Метод-Адаптер"......................................................................................................... 358
Резюме.............................................................................................................................................. 361

Глава 12. Обработка ошибок и исключения ....................................................... 365
Основные концепции.................................................................................................................. 365
Основные исключения ............................................................................................................... 366
Аргументы исключения.......................................................................................................... 368
Перехват исключений................................................................................................................. 369
Блок try......................................................................................................................................... 369
Обработчики исключений..................................................................................................... 369
Прерывание и возобновление............................................................................................ 370
Создание собственных исключений ...................................................................................... 370
Вывод информации об исключениях .................................................................................... 373
Спецификация исключений..................................................................................................... 376
Перехват любого типа исключения........................................................................................ 377
Трассировка стека..................................................................................................................... 379
Повторное возбуждение исключения................................................................................ 379
Цепочки исключений .............................................................................................................. 382
Стандартные исключения Java ................................................................................................ 385
Особый случай: RuntimeException..................................................................................... 386
Завершение с помощью finally................................................................................................. 387
Для чего нужен блок finally?................................................................................................. 389
Использование finally при return ....................................................................................... 391
Ловушка: потерянное исключение ..................................................................................... 392
Ограничения исключений......................................................................................................... 394
Конструкторы................................................................................................................................ 397
Отождествление исключений.................................................................................................. 402
Альтернативные решения.......................................................................................................... 403
Предыстория .............................................................................................................................. 404
Перспективы............................................................................................................................... 406
Передача исключений на консоль....................................................................................... 408
Преобразование контролируемых исключений в неконтролируемые .................. 408
Рекомендации по использованию исключений............................................................. 411
Резюме.............................................................................................................................................. 411

Глава 13. Строки .................................................................................................... 413
Постоянcтво строк ....................................................................................................................... 413
Перегрузка + и StringBuilder.................................................................................................... 414
Непреднамеренная рекурсия.................................................................................................... 418
Операции со строками ............................................................................................................ 419
Форматирование вывода ........................................................................................................... 421
printf() .......................................................................................................................................... 421
System.out.format() .................................................................................................................. 422
Класс Formatter......................................................................................................................... 422
Форматные спецификаторы ................................................................................................. 423
Преобразования Formatter.................................................................................................... 425
String.format() ........................................................................................................................... 427
Вывод файла в шестнадцатеричном виде......................................................................... 428
Регулярные выражения.............................................................................................................. 429
Основы.......................................................................................................................................... 429
Создание регулярных выражений...................................................................................... 432
Квантификаторы....................................................................................................................... 433
CharSequence ............................................................................................................................. 434
Pattern и Matcher...................................................................................................................... 434
find() ............................................................................................................................................. 436
Группы .......................................................................................................................................... 437
start() и end() ............................................................................................................................. 438
Флаги шаблонов........................................................................................................................ 440
split() ............................................................................................................................................ 442
Операции замены...................................................................................................................... 442
reset() ........................................................................................................................................... 444
Регулярные выражения и ввод-вывод в Java.................................................................. 445
Сканирование ввода ................................................................................................................ 446
Ограничители Scanner............................................................................................................ 448
Сканирование с использованием регулярных выражений........................................ 449
StringTokenizer .............................................................................................................................. 450
Резюме.............................................................................................................................................. 450

Глава 14. Информация о типах............................................................................. 451
Необходимость в динамическом определении типов (RTTI) ...................................... 451
Объект Class................................................................................................................................ 454
Литералы class......................................................................................................................... 459
Ссылки на обобщенные классы........................................................................................... 461
Новый синтаксис приведения типа.................................................................................... 463
Проверка перед приведением типов .................................................................................. 464
Использование литералов class............................................................................................ 470
Динамическая проверка типа ............................................................................................... 472
Рекурсивный подсчет ........................................................................................................... 473
Зарегистрированные фабрики................................................................................................. 475
instanceof и сравнение объектов Class............................................................................. 478
Отражение: динамическая информация о классе ............................................................. 479
Извлечение информации о методах класса..................................................................... 480
Динамические заместители ...................................................................................................... 483
Null-объекты................................................................................................................................... 487
Фиктивные объекты и заглушки......................................................................................... 493
Интерфейсы и информация типов......................................................................................... 494
Резюме.............................................................................................................................................. 499

Глава 15. Обобщенные типы ................................................................................ 501
Сравнение с C++ .......................................................................................................................... 502
Простые обобщения..................................................................................................................... 503
Библиотека кортежей.............................................................................................................. 504
Класс стека .................................................................................................................................. 507
RandomList ................................................................................................................................. 508
Обобщенные интерфейсы ......................................................................................................... 509
Обобщенные методы................................................................................................................... 512
Использование автоматического определения аргументов-типов ......................... 513
Явное указание типа ................................................................................................................ 515
Списки аргументов переменной длины и обобщенные методы............................... 515
Обобщенный метод для использования с генераторами............................................ 516
Генератор общего назначения............................................................................................... 517
Упрощение использования кортежей................................................................................ 518
Операции с множествами ...................................................................................................... 520
Анонимные внутренние классы .............................................................................................. 523
Построение сложных моделей................................................................................................. 524
Загадка стирания.......................................................................................................................... 526
Подход C++.................................................................................................................................... 528
Миграционная совместимость............................................................................................. 530
Проблема стирания.................................................................................................................. 531
Граничные ситуации................................................................................................................ 533
Компенсация стирания............................................................................................................... 536
Создание экземпляров типов ............................................................................................... 537
Массивы обобщений................................................................................................................ 540
Ограничения .................................................................................................................................. 544
Маски................................................................................................................................................ 548
Насколько умен компилятор?.............................................................................................. 550
Контравариантность ............................................................................................................... 552
Неограниченные маски........................................................................................................... 555
Фиксация..................................................................................................................................... 560
Проблемы........................................................................................................................................ 561
Примитивы не могут использоваться как параметры-типы...................................... 561
Реализация параметризованных интерфейсов .............................................................. 563
Приведения типа и предупреждения................................................................................. 563
Перегрузка .................................................................................................................................. 565
Перехват интерфейса базовым классом............................................................................ 566
Самоограничиваемые типы ...................................................................................................... 567
Необычные рекурсивные обобщения................................................................................ 567
Самоограничение...................................................................................................................... 568
Ковариантность аргументов ................................................................................................. 570
Динамическая безопасность типов ........................................................................................ 573
Исключения.................................................................................................................................... 574
Примеси ....................................................................................................................................... 576
Примеси в C++.......................................................................................................................... 576
Примеси с использованием интерфейсов ........................................................................ 577
Использование паттерна "Декоратор".............................................................................. 579
Примеси и динамические заместители............................................................................. 580
Латентная типизация.................................................................................................................. 582
Компенсация отсутствия латентной типизации ............................................................... 586
Отражение................................................................................................................................... 586
Применение метода к последовательности ..................................................................... 587
Если нужный интерфейс отсутствует ............................................................................... 590
Моделирование латентной типизации с использованием адаптеров .................... 591
Использование объектов функций как стратегий ............................................................ 594
Резюме.............................................................................................................................................. 599
Дополнительная литература................................................................................................. 601

Глава 16. Массивы ................................................................................................. 602
Особое отношение к массивам............................................................................................. 602
Массивы как полноценные объекты.................................................................................. 604
Возврат массива ............................................................................................................................ 607
Многомерные массивы............................................................................................................... 608
Массивы и обобщения................................................................................................................ 612
Создание тестовых данных ....................................................................................................... 614
Arrays.fill() .................................................................................................................................. 614
Генераторы данных................................................................................................................... 615
Применение генераторов для создания массивов............................................................. 620
Класс Arrays................................................................................................................................ 624
Копирование массива.............................................................................................................. 624
Сравнение массивов ................................................................................................................ 625
Сравнения элементов массивов........................................................................................... 626
Сортировка массива................................................................................................................. 630
Поиск в отсортированном массиве..................................................................................... 631
Резюме.............................................................................................................................................. 633

Глава 17. Подробнее о контейнерах .................................................................... 636

Глава 18. Система ввода-вывода................................................................. 723

Глава 19. Перечислимые типы ............................................................................. 811

Глава 20. Аннотации.............................................................................................. 849

Глава 21. Параллельное выполнение.................................................................. 887

Глава 22. Графический интерфейс ................................................................... 1039
Основы Swing .............................................................................................................................. 1042
Модель событий библиотеки Swing .................................................................................... 1054
Компоненты Swing..................................................................................................................... 1063
JNLP и Java Web Start............................................................................................................... 1098
Параллельное выполнение и Swing ..................................................................................... 1103
Визуальное программирование и компоненты JavaBean............................................. 1112
Альтернативы для Swing.......................................................................................................... 1129
Построение веб-клиентов Flash с использованием Flex............................................... 1130
Создание приложений SWT................................................................................................... 1141

Приложение А...................................................................................................... 1157
Приложение Б. Ресурсы ...................................................................................... 1159


С этой книгой чаще всего покупают:
Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е изднание

Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е изднание

Лафоре Р.
Год выпуска: 2016
Изд-во: Питер
Временно отсутствует   Оставить заявку
 
Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ

Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ

рекомендуем
Фрэд Лонг, Дхрув Мохиндра, Роберт С. Сикорд, Дин Ф. Сазерленд, Дэвид Свобода
Год выпуска: 2014
Изд-во: Диалектика-Вильямс
в корзину
Только на 1 книгу
Цена: 840.00 грн. 
 
Цена: 215.00 грн. 
Алгоритмы на Java

Алгоритмы на Java

рекомендуем
Роберт Седжвик, Кевин Уэйн
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
в корзину
Только на 1 книгу
 
Язык программирования Java SE 8. Подробное описание

Язык программирования Java SE 8. Подробное описание

рекомендуем
Джеймс Гослинг, Билл Джой, Гай Стил, Гилад Брача, Алекс Бакли
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
Временно отсутствует Оставить заявку
Цена: 1050.00 грн. 
 
Цена: 800.00 грн. 
Java SE 8. Вводный курс

Java SE 8. Вводный курс

Кей С. Хорстманн
Год выпуска: 2014
Изд-во: Диалектика-Вильямс
Временно отсутствует   Оставить заявку
 
Java 8. Карманный справочник

Java 8. Карманный справочник

Роберт Лигуори, Патрисия Лигуори
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
Временно отсутствует Оставить заявку
Цена: 265.00 грн. 
 
Цена: 265.00 грн. 

Хотите оставить отзыв? У Вас возникли вопросы о книге "Философия Java. 4-е полное изд., Брюс Эккель" ? Пишите:

* Текст сообщения:
 
  Отправить
Поиск по каталогу
 поиск в аннотациях
Искать

* Подробнее об условиях доставки смотрите в разделе "Оплата и Доставка" нашего магазина.
Если у Вас возникли вопросы как подобрать и купить книги в нашем интернет-магазине звоните с 10 до 18 по будним дням: Киев 331-04-53, Водафон (050) 809-56-66, Киевстар (067) 408-26-36, Лайф (063) 227-24-47, Интертелеком (094) 831-04-53 или пишите нам

 
   
  Programming - Dmitriy Kotov & Andrey Kotov