- •Глава 1 введение в объекты 17
- •Глава 2 всё является объектом 44
- •Глава 3 операторы 65
- •Глава 4 управляющие конструкции 97
- •Глава 5 инициализация и завершение 112
- •Глава 6 управление доступом 146
- •Глава 7 повторное использование классов 161
- •Глава 8 полиморфизм 190
- •Глава 9 интерфейсы 212
- •Глава 10 внутренние классы 236
- •Глава 11 контейнеры и хранение объектов 269
- •Глава 12 обработка ошибок и исключений 302
- •Глава 13 информация о типах 342
- •Глава 14 параметризация 386
- •Глава 15 массивы 442
- •Глава 16 система ввода/вывода java 472
- •Глава 17 параллельное выполнение 546
- •Глава 1 введение в объекты
- •Глава 2 всё является объектом
- •Глава 3 операторы
- •Глава 4 управляющие конструкции
- •Глава 5 инициализация и завершение
- •1. Ваши объекты могут быть и не переданы сборщику мусора.
- •2. Сборка мусора не является удалением.
- •3. Процесс сборки мусора относится только к памяти.
- •Глава 6 управление доступом
- •Глава 7 повторное использование классов
- •Глава 8 полиморфизм
- •Глава 9 интерфейсы
- •InterfaceCollіsion.Java.23 f() в c не может реализовать f() в i1; попытка использовать несовместимые возвращаемые типы обнаружено: int требуется- void
- •InterfaceCollіsi on java:24- интерфейсы і1 и i1 несовместимы; оба определяют f(), но с различными возвращаемыми типами
- •Глава 10 внутренние классы
- •Глава 11 контейнеры и хранение объектов
- •Глава 12 обработка ошибок и исключений
- •Глава 13 информация о типах
- •Instanceof и сравнение Class
- •Глава 14 параметризация
- •Глава 15 массивы
- •Глава 16 система ввода/вывода java
- •Глава 17 параллельное выполнение
Глава 12 обработка ошибок и исключений 302
Содержание 302
Основные исключения 303
Аргументы исключения 303
Перехват исключений 304
Обработчики исключений 304
Прерывание в сравнении с возобновлением 305
Создание собственных исключений 306
Регистрация исключений 307
Спецификации исключений 311
Перехват произвольных исключений 311
Трассировка стека 313
Повторное возбуждение исключения 314
Цепочки исключений 316
Стандартные исключения Java 320
Завершение с помощью finally 321
Для чего нужен блок finally? 323
Использование finally с return 325
Проблема потерянных исключений 326
Ограничения при использовании исключений 327
Конструкторы 330
Идентификация исключений 334
Альтернативные решения 335
Передача исключений на консоль 338
Преобразование контролируемых исключений в неконтролируемые 338
Основные правила обработки исключений 340
Резюме 341
Глава 13 информация о типах 342
Содержание 342
Необходимость в динамическом определении типов (RTTI) 342
Объект Class 344
Литералы class 348
Параметризованные ссылки 350
Новый синтаксис преобразования 351
Проверка перед приведением типов 351
Использование литералов class 358
Динамический вызов instanceof 359
Рекурсивный подсчет 361
Регистрация фабрик 362
instanceof и сравнение Class 365
Рефлексия: динамическая информация о классе 366
Извлечение информации о методах класса 367
Динамические посредники 369
Объекты с неопределенным состоянием 373
Интерфейсы и информация о типах 379
Резюме 384
Глава 14 параметризация 386
Содержание 386
Простая параметризация 387
Кортежи 389
Класс стека 391
RandomList 392
Параметризованные интерфейсы 393
Параметризованные методы 396
Вычисление типа аргумента 397
Явное указание типа 399
Использование параметризованных методов с Generator 400
Обобщенный генератор 400
Упрощение работы с кортежами 402
Вспомогательный класс Set 403
Анонимные внутренние классы 406
Построение сложных моделей 408
Тайна стирания 410
Подход C++ 412
Миграционная совместимость 414
Проблемы стирания 414
Проблемы на границах 416
Компенсация за стирание 419
Создание экземпляров типов 420
Массивы параметризованных типов 422
Ограничения 426
Метасимволы 429
Насколько умен компилятор? 431
Контравариантность 433
Неограниченные метасимволы 434
Реализация параметризованных интерфейсов 438
Преобразования типов и предупреждения 439
Перегрузка 439
Резюме 440
Глава 15 массивы 442
Содержание 442
Особенности массивов 442
Массив как объект 444
Возврат массива 446
Многомерные массивы 447
Массивы и параметризация 451
Создание тестовых данных 452
Генераторы данных 454
Создание массивов с использованием генераторов 458
Вспомогательный инструментарий Arrays 462
Копирование массива 463
Сравнение массивов 464
Сравнение элементов массивов 465
Сортировка массива 468
Поиск в отсортированном массиве 469
Резюме 470
Глава 16 система ввода/вывода java 472
Содержание 472
Класс File 474
Список каталогов 474
Безымянные внутренние классы 475
Проверка существования и создание каталогов 477
Ввод и вывод 479
Типы InputStream 479
Типы OutputStream 481
Добавление атрибутов и интерфейсов 481
Чтение из InputStream с использованием FilterInputStream 482
Запись в OutputStream с помощью FilterOutputStream 483
Классы Reader и Writer 484
Источники и приемники данных 485
Изменение поведения потока 486
Классы, оставленные без изменений 487
RandomAccessFile: сам по себе 487
Типичное использование потоков ввода/вывода 488
Буферизованное чтение из файла 488
Чтение из памяти 489
Форматированное чтение из памяти 489
Вывод в файл 491
Сокращенная форма вывода текстового файла 491
Сохранение и восстановление данных 492
Чтение/запись файлов с произвольным доступом 493
Каналы 495
Средства чтения и записи файлов 495
Стандартный ввод/вывод 497
Чтение из стандартного потока ввода 497
Замена System.out на PrintWriter 498
Перенаправление стандартного ввода/вывода 499
Новый ввод/вывод (nio) 500
Преобразование данных 503
Извлечение примитивов 505
Представления буферов 506
О порядке байтов 509
Буферы и операции с данными 510
Подробно о буфере 512
Отображаемые в память файлы 515
Производительность 516
Блокировка файлов 518
Блокирование части отображаемого файла 519
Сжатие данных 520
Простое сжатие в формате GZIP 521
Многофайловые архивы ZIP 522
Архивы Java ARchives (файлы JAR) 524
Сериализация объектов 526
Обнаружение класса 529
Управление сериализацией 530
Ключевое слово transient 533
Альтернатива для Externalizable 535
Долговременное хранение 537
Резюме 544
