ЧАСТЬ I. ЯЗЫК JAVA

Глава 1.Генезис Java

Происхождение Java
Создание Java
Почему Javaважен для Internet
Волшебство Java: байт-код
Базовые термины Java
Продолжение революции
Java - не расширение HTML
Глава 2. Обзор языка Java

Объектно-ориентированное программирование
Первая простая программа
Вторая короткая программа
Два оператора управления
Использование блоков кода
Лексические вопросы
Библиотеки классов языка Java
Глава 3. Типы данных, переменные и массивы
Java - язык со строгой типизацией

Простые типы
Целые типы
Типы с плавающей точкой
Символьный тип (char)
Булевский тип (boolean)
Подробнее о литералах
Переменные
Преобразование и приведение типов
Автоматическое расширение типа в выражениях
Массивы
Несколько слов относительно строк
Замечание для программистов C/C++ по поводу
указателей
Глава 4. Операции Арифметические операции
Поразрядные операции
Операции отношений
Операции булевой логики
Операция присваивания
Условная операция
Старшинство операций
Использование круглых скобок
Глава 5. Управляющие операторы

Операторы выбора Java
Операторы цикла
Операторы перехода
Глава 6. Введение в классы

Основы классов
Объявление объектов
Назначение ссылочных переменных объекта
Представление методов
Конструкторы
Ключевое слово this
Сборка "мусора"
Метод finalize()
Глава 7. Методы и классы

Перегрузка методов
Использование объектов в качестве параметров
Передача аргументов
Возврат объектов
Рекурсия
Управление доступом
Статические элементы
Спецификатор final
Ревизия массивов
Вложенные и внутренние классы
Класс String
Использование аргументов командной строки
Глава 8. Наследование

Основы наследования
Использование ключевого слова super
Создание многоуровневой иерархии
Когда вызываются конструкторы
Переопределение методов
Динамическая диспетчеризация методов
Использование абстрактных классов
Использование ключевого слова final с
наследованием
Класс Object
Глава 9. Пакеты и интерфейсы

Пакеты Защита доступа
Импорт пакетов
Интерфейсы
Глава 10. Обработка исключений

Основные принципы обработки исключений
Типы исключений
Неотловленные исключения
Использование операторов try и catch
Множественные операторы catch
Вложенные операторы try
Оператор throw
Методы с ключевым словом throws
Блок finally
Встроенные исключения Java
Создание собственных подклассов исключений
Использование исключений
Глава 11. Многопоточное программирование

Поточная модель Java
Главный поток
Создание потока
Создание множественных потоков
Использование методов isAlive() и join()
Приоритеты потоков
Синхронизация
Межпоточные связи
Приостановка, возобновление и остановка потоков
Использование многопоточности
Глава 12. Ввод/вывод, апплеты и другие темы

Основы ввода/вывода
Чтение консольного ввода
Запись консольного вывода
Класс PrintWriter
Чтение и запись файлов
Апплеты. Основы программирования
Модификаторы transient и volatile
Использование instanceof
Ключевое слово strictfp
Native-методы
ЧАСТЬ II. БИБЛИОТЕКА JAVA

Глава 13. Обработка строк

String-конструкторы
Длина строки
Специальные строковые операции
Извлечение символов
Сравнение строк
Поиск строк
Изменение строки
Преобразование данных, использующее метод
valueOf()
Изменение регистра символов в строке
Класс StringBuffer
Глава 14. Пакет java.lang

Оболочки простых типов
Класс Void
Класс Process
Класс Runtime
Класс System
Класс Object
Использование метода clone() и интерфейса Cloneable
Класс Class
Класс ClassLoader
Класс Math
Компилятор
Классы Thread, ThreadGroup и интерфейс Runnable
Классы ThreadLocal и InheritableThreadLocal
Класс Package
Класс RuntimePermission
Класс Throwable
Класс SecurityManager
Интерфейс Comparable
Пакеты java.lang.ref и java.lang.reflect
Глава 15. Пакет java.util: структура коллекций

Краткий обзор коллекций
Интерфейсы коллекций
Классы Collection
Доступ к коллекции через итератор
Коллекции пользовательских классов
Работа с картами отображений
Компараторы
Алгоритмы коллекций
Массивы
Наследованные классы и интерфейсы
Резюме
Класс StringTokenizer
Класс BitSet
Класс Date Класс Calendar
Класс GregorianCalendar
Класс TimeZone
Класс SimpleTimeZone
Класс Locale
Класс Random
Класс Observable
Пакет java.util.zip
Пакет java.util.jar
Глава 17. Ввод/вывод: обзор пакета java.io

Классы и интерфейсы ввода/вывода Java
Класс File
Поточные классы
Байтовые потоки
Символьные потоки
Использование поточного ввода/вывода
Сериализация
Преимущества потоков
Глава 18. Работа в сети

Основы работы в сети Java и сеть
Класс InetAddress
Сокеты TCP/IP клиентов
Использование URL
Класс URLConnection
Сокеты TCP/IP серверов
Кэширующий proxy HTTP-сервер
Дейтаграммы
Достоинства сети
Глава 19. Класс Applet

Основы апплетов
Архитектура апплета
Скелетная схема апплета
Простые методы отображения апплетов
Требование перерисовки
Использование окна состояния
Тег
Глава 20.

Обработка событий
Два механизма обработки событий
Модель делегирования событий
Классы событий
Элементы-источники событий
Интерфейсы прослушивания событий
Использование модели делегирования событий
Классы-адаптеры
Внутренние классы
Глава 21.

Введение в AWT: работа с окнами, графикой и текстом
Классы AWT
Основы оконной графики
Работа с фреймовыми окнами
Создание фрейм-окна в апплете
Создание оконной программы
Отображение информации в окне
Работа с графикой
Работа с цветом
Установка режима рисования
Работа со шрифтами
Управление текстовым выводом с помощью класса
FontMetrics
Исследование текста и графики
Глава 22.

Использование элементов управления,
менеджеров компоновки и меню AWT
Элементы управления.
Основные понятия
Текстовые метки
Использование кнопок
Применение флажков
Класс CheckboxGroup
Элемент управления Choice
Использование списков
Управление полосами прокрутки
Использование класса TextField
Использование TextArea
Понятие менеджера компоновки
Панели меню и меню
Диалоговые окна
Класс FileDialog
Обработка событий путем расширения AWT-компонентов
Исследование элементов управления, меню и
менеджеров компоновки
Глава 23. Работа с изображениями

Форматы графических файлов
Создание, загрузка и просмотр изображений
Интерфейс ImageObserver
Двойная буферизация
Класс MediaTracker
Интерфейс ImageProducer
Интерфейс ImageConsumer
Класс ImageFilter
Анимация ячеек
Дополнительные классы изображений Java 2
Глава 24. Дополнительные пакеты

Пакеты ядра Java
API Отражение
Вызов удаленных методов (RMI)
Текстовое форматирование
ЧАСТЬ III. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Глава 25. Компоненты Java Beans

Что такое Java Bean-компонент?
Преимущества технологии Java Beans
Инструментарий построения приложений
Комплект разработчика Bean-компонентов
JAR-файлы
Интроспекция
Разработка простого
Bean-компонента
Использование связанных свойств
Использование интерфейса BeanInfo
Ограниченные свойства
Сохраняемость
Конфигураторы Java Beans API
Будущее Bean-технологии
Глава 26. Система Swing

Класс JApplet
Значки и метки
Текстовые поля
Кнопки
Поля со списком
Панели со вкладками
Панели прокрутки
Деревья
Таблицы
Другие возможности и будущее Swing-технологии
Глава 27. Сервлеты

Предпосылки
Жизненный цикл сервлета
Java Servlet Development Kit
Простой сервлет
Servlet API
Пакет javax.servlet
Чтение параметров сервлета
Чтение параметров инициализации
Пакет javax.servlet.http
Обработка запросов и ответов HTTP
Использование cookie-данных
Прослеживание сеанса
Проблемы защиты
Исследование сервлетов
Глава 28. Миграция из C++ в Java

Различия между C++ и Java
Исключение указателей в C++
Ссылочные параметры C++ в сравнении со ссылочными
параметрами Java
Преобразование абстрактных классов C++ в
Java-интерфейсы
Преобразование умалчиваемых аргументов
Преобразование иерархий множественного
наследования C++
Деструкторы в сравнении с методом finalize()
ЧАСТЬ IV. ПРИМЕНЕНИЕ JAVA

Глава 29. Апплет DynamicBillboard

Тег
Обзор исходного кода
Динамический код
Глава 30. ImageMenu: Web-меню изображений

Исходное изображение
Тег applet>
Методы
Резюме
Глава 31. Апплет Lavatron: дисплей для спортивной арен

Как работает Lavatron
Исходный код
Апплет Hot Lava
Глава 32. Scrabblet: многопользовательская
игра в слова

Вопросы сетевой безопасности
Игра
Исходный код
Код сервера
Совершенствование Scrabblet
Приложение.
Использование документационных комментариев Java
Теги javadoc
Общая форма документационного комментария
Что выводит javadoc
Пример использования документационных комментариев
Предметный указатель