|
|
|
Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Содержание
Об авторах
Благодарности
Предисловие
ЧАСТЬ I. ЯЗЫК JAVA
Глава 1. Генезис Java
Происхождение Java
Рождение современного программирования: С
Потребность в C++
Этап становления Java
Создание Java
Почему Java важен для Internet
Java-апплеты и приложения
Защита
Мобильность
Волшебство Java: байт-код
Базовые термины Java
Простой
Объектно-ориентированный
Устойчивый
Многопоточный
Архитектурно-независимый
Интерпретируемость и высокая эффективность
Распределенный
Динамический
Продолжение революции
Свойства, добавленные версией 1.1
Свойства, исключенные из версии 1.1
Свойства, добавленные версией 2
Свойства, исключенные из версии 2.
Java - не расширение HTML
Глава 2. Обзор языка Java
Объектно-ориентированное программирование
Две парадигмы программирования
Абстракция
Три принципа ООП
Первая простая программа
Ввод программы
Компиляция программы
Подробный взгляд на первую программу
Вторая короткая программа
Два оператора управления
Оператор if
Цикл for
Использование блоков кода
Лексические вопросы
Пробельные символы
Идентификаторы
Константы
Комментарии
Разделители
Ключевые слова языка Java
Библиотеки классов языка Java
Глава 3. Типы данных, переменные и массивы
Java - язык со строгой типизацией
Простые типы
Целые типы
Тип byte
Тип short
Тип int
Тип long
Типы с плавающей точкой
Тип float
Тип double
Символьный тип (char)
Булевский тип (boolean)
Подробнее о литералах
Целочисленные литералы
Литералы с плавающей точкой
Булевы литералы
Символьные литералы
Строковые литералы
Переменные
Объявление переменной
Динамическая инициализация
Область действия и время жизни переменных
Преобразование и приведение типов
Автоматическое преобразование типов в Java
Приведение несовместимых типов
Автоматическое расширение типа в выражениях
Правила расширения типов
Массивы
Одномерные массивы
Многомерные массивы
Альтернативный синтаксис объявления массива
Несколько слов относительно строк
Замечание для программистов C/C++ по поводу указателей
Глава 4. Операции
Арифметические операции
Основные арифметические операции
Деление по модулю
Арифметические операции присваивания
Инкремент и декремент
Поразрядные операции
Поразрядные логические операции
Левый сдвиг
Правый сдвиг
Правый сдвиг без знака
Поразрядная операция присваивания
Операции отношений
Операции булевой логики
Короткие логические операции
Операция присваивания
Условная операция
Старшинство операций
Использование круглых скобок
Глава 5. Управляющие операторы
Операторы выбора Java
Оператор if
Оператор switch
Операторы цикла
Оператор цикла while
Оператор цикла do while
Оператор цикла for
Вложенные циклы
Операторы перехода
Использование оператора break
Использование оператора continue
Оператор return
Глава 6. Введение в классы
Основы классов
Общая форма класса
Простой класс
Объявление объектов
Операция new
Назначение ссылочных переменных объекта
Представление методов
Добавление метода к классу Box
Возврат значений
Добавление метода с параметрами
Конструкторы
Параметризованные конструкторы
Ключевое слово this
Скрытие переменной экземпляра
Сборка "мусора"
Метод finalize()
Класс Stack
Глава 7. Методы и классыГлава 8. Наследование
Основы наследования
Доступ к элементам и наследование
Практический пример
Переменная суперкласса может ссылаться на объект подкласса
Использование ключевого слова super
Вызов конструктора суперкласса с помощью первой формы super
Использование второй формы super
Создание многоуровневой иерархии
Когда вызываются конструкторы
Переопределение методов
Динамическая диспетчеризация методов
Зачем нужны переопределенные методы?
Применение переопределения методов
Использование абстрактных классов
Использование ключевого слова final с наследованием
Использование final для отказа от переопределения
Использование final для отмены наследования
Класс Object
Глава 9. Пакеты и интерфейсы
Пакеты
Определение пакета
Использование CLASSPATH
Короткий пример пакета
Защита доступа
Пример управления доступом
Импорт пакетов
Интерфейсы
Определение интерфейса
Реализация интерфейсов
Применения интерфейсов
Переменные в интерфейсах
Расширение интерфейсов
Глава 10. Обработка исключений
Основные принципы обработки исключений
Типы исключений
Неотловленные исключения
Использование операторов try и catch
Отображение описания исключения
Множественные операторы catch
Вложенные операторы try
Оператор throw
Методы с ключевым словом throws
Блок finally
Встроенные исключения Java
Создание собственных подклассов исключений
Использование исключений
Глава 11. Многопоточное программирование
Поточная модель Java
Приоритеты потоков
Синхронизация
Передача сообщений
Класс Thread и интерфейс Runnable
Главный поток
Создание потока
Реализация интерфейса Runnable
Расширение Thread
Выбор подхода
Создание множественных потоков
Использование методов isAlive() и join()
Приоритеты потоков
Синхронизация
Использование синхронизированных методов
Оператор synchronised
Межпоточные связи
Блокировка
Приостановка, возобновление и остановка потоков
Приостановка, возобновление и остановка потоков в Java 1.1 и более ранних версиях
Приостановка, возобновление и остановка потока в Java 2
Использование многопоточности
Глава 12. Ввод/вывод, апплеты и другие темы
Основы ввода/вывода
Потоки
Байтовые и символьные потоки
Предопределенные потоки
Чтение консольного ввода
Чтение символов
Чтение строк
Запись консольного вывода
Класс PrintWriter
Чтение и запись файлов
Апплеты. Основы программирования
Модификаторы transient и volatile
Использование instanceof
Ключевое слово strictfp
Native-методы
Проблемы native-методов
ЧАСТЬ II. БИБЛИОТЕКА JAVA
Глава 13. Обработка строк
Sfrmg-конструкторы
Длина строки
Специальные строковые операции
Строковые литералы
Конкатенация строк
Конкатенация других типов данных
Преобразование строк и метод toString()
Извлечение символов
Метод charAt()
Метод getChars()
Метод getBytes()
Метод toCharArray()
Сравнение строк
Методы equals() и equalsIgnoreCase()
Метод regionMatches()
Методы startsWith() и endsWith()
Сравнение equals() и операции
Метод compareTo()
Поиск строк
Изменение строки
Метод substringO
Метод concat()
Метод rерlасе()
Метод trim()
Преобразование данных, использующее метод valueOf()
Изменение регистра символов в строке
Класс StringBuffer
Конструкторы StringBuffer
Методы length() и capacity()
Метод ensureCapacity ()
Метод setLength()
Методы charAt() и setCharAt()
Метод getChars()
Метод append()
Метод insert()
Метод reverse()
Методы delete() и deleteCharAt()
Метод герlасе()
Метод substring()
Глава 14. Пакет java.lang
Оболочки простых типов
Класс Number
Оболочки Double и Float
Оболочки Byte, Shot, Integer и Long
Оболочка Character
Оболочка Boolean
Класс Void
Класс Process
Класс Runtime
Управление памятью
Выполнение других программ
Класс System
Использование метода currentTimeMillis()
Использование метода arraycopy()
Свойства среды
Класс Object
Использование метода clone() и интерфейса Cloneable
Класс Class
Класс ClassLoader
Класс Мath
Трансцендентные функции
Экспоненциальные функции
Округление функций
Разные методы класса Math
Компилятор
Классы Thread, ThreadGroup и интерфейс Runnable
Интерфейс Runnable
Класс Thread
Класс ThreadGroup
Классы ThreadLocal и Inheritable ThreadLocal
Класс Package
Класс Runtime Permission
Класс Throwable
Класс Security Manager
Интерфейс Comparable
Пакеты java.lang.ref и java.long.reflect
Пакет java.lang.ref
Пакет java.lang.reflect
Глава 15. Пакет java.util: структура коллекций
Краткий обзор коллекций
Интерфейсы коллекций
Интерфейс Collection
Интерфейс List
Интерфейс Set
Интерфейс SortedSet
Классы Collection
Класс ArrayList
Получение массива из ArrayList- объекта
Класс LinkedList
Класс HashSet
Класс TreeSet
Доступ к коллекции через итератор
Использование итератора
Коллекции пользовательских классов
Работа с картами отображений
Интерфейсы карт
Классы карт отображений
Компараторы
Использование компаратора
Алгоритмы коллекций
Массивы
Наследованные классы и интерфейсы
Интерфейс Enumeration
Класс Vector
Класс Stack
Класс Dictionary
Класс Hashtable
Класс Properties
Использование методов store() и load()
Резюме
Глава 16. Пакет java.util: сервисные классы
Класс StringTokenizer
Класс BitSet
Класс Date
Сравнение дат
Класс Calendar
Класс GregorianCalendar
Класс TimeZone
Класс SimpleTimeZone
Класс Locale
Класс Random
Класс Observable
Интерфейс Observer
Пример наблюдателя
Пакет java.util.zip
Пакет java.util.jar
Глава 17. Ввод/вывод: обзор пакета java.io
Классы и интерфейсы ввода/вывода Java
Класс File
Каталоги
Использование интерфейса Filename Filter
Альтернативный метод UstFiles()
Создание каталогов
Поточные классы
Байтовые потоки
Класс InputStream
Класс OutputStream
Класс FileInputStream
Класс FileOutputStream
Класс ByteArrayInputStream
Класс ByteArrayOutputStream
Фильтрованные байтовые потоки
Буферизированные байтовые потоки
Класс SequenceInputStream
Класс PrintStream
Класс RandomAccessFile
Символьные потоки
Класс Reader
Класс Writer
Класс FileReader
Класс FileWriter
Класс CharArrayReader
Класс CharArrayWriter
Класс BufferedReader
Класс BufferedWriter
Класс PushbackReader
Класс PrintWriter
Использование поточного ввода/вывода
Улучшение метода wc() с помощью класса StreamTokenizer
Сериализация
Интерфейс Serializable
Интерфейс Externalizable
Интерфейс ObjectOutput
Класс ObjectOutputStream
Интерфейс Objectlnput
Класс ObjectInputStream
Пример с сериализацией
Преимущества потоков
Глава 18. Работа в сети
Основы работы в сети
Обзор сокетов
Клиент-сервер
Зарезервированные сокеты
Proxy-серверы
Адресация Internet
Java и сеть
Сетевые классы и интерфейсы
Класс InetAddress
Производственные методы
Методы экземпляра
Сокеты TCP/IP клиентов
Пример работы с сокет-соединением (программа Whois)
Использование URL
Формат
Класс URLConnection
Сокеты TCP/IP серверов
Кэширующий proxy HTTP-сервер
Исходный код
Дейтаграммы
Класс DatagramPacket
Дейтаграммный сервер и клиент
Достоинства сети
Глава 19. Класс Applet
Основы апплетов
Класс Applet
Архитектура апплета
Скелетная схема апплета
Инициализация и завершение апплета
Переопределение метода update()
Простые методы отображения апплетов
Требование перерисовки
Апплет с бегущим заголовком
Использование окна состояния
Тег lt;appletgt;
Пересылка параметров в апплеты
Усовершенствованный апплет заголовка
Методы getDocumentBase() и getCodeBase()
Интерфейс AppletContext и метод showDocument()
Интерфейс AudioClip
Интерфейс AppletStub
Вывод на консоль
Глава 20. Обработка событий
Два механизма обработки событий
Модель делегирования событий
События
Источники событий
Блок прослушивания событий
Классы событий
Класс ActionEvent
Класс AdjustmentEvent
Класс ComponentEvent
Класс ContainerEvent
Класс FocusEvent
Класс InputEvent
Класс ItemEvent
Класс KeyEvent
Класс MouseEvent
Класс TextEvent
Класс WindowEvent
Элементы-источники событий
Интерфейсы прослушивания событий
Интерфейс ActionListener
Интерфейс AdjustmentListener
Интерфейс ComponentListener
Интерфейс ContainerListener
Интерфейс FocusListener
Интерфейс ItemListener
Интерфейс KeyListener
Интерфейс MouseListener
Интерфейс MouseMotionListener
Интерфейс TextListener
Интерфейс WindowListener
Использование модели делегирования событий
Обработка событий мыши
Обработка событий клавиатуры
Классы-адаптеры
Внутренние классы
Анонимные внутренние классы
Глава 21. Введение в AWT: работа с окнами, графикой и текстом
Классы AWT
Основы оконной графики
Класс Component
Класс Container
Класс Panel
Класс Window
Класс Frame
Класс Canvas
Работа с фреймовыми окнами
Установка размеров окна
Скрытие и показ окна
Установка заголовка окна
Закрытие фрейм-окна
Создание фрейм-окна в апплете
Обработка событий фрейм-окна
Создание оконной программы
Отображение информации в окне
Работа с графикой
Рисование линий
Рисование прямоугольников
Рисование эллипсов и кругов
Рисование дуг
Рисование многоугольников
Установка размеров графики
Работа с цветом
Цветовые методы
Установка текущего цвета графики
Апплет с демонстрацией цветов
Установка режима рисования
Работа со шрифтами
Определение доступных шрифтов
Создание и выбор шрифта
Получение информации о шрифте
Управление текстовым выводом с помощью класса FontMetrics
Отображение многострочного текста
Выравнивание текста по центру
Выравнивание многострочного текста
Исследование текста и графики
Глава 22. Использование элементов управления, менеджеров компоновки и меню AWT
Элементы управления. Основные понятия
Добавление и удаление элементов управления
Реагирование на элементы управления
Текстовые метки
Использование кнопок
Обработка кнопок
Применение флажков
Обработка флажков
Класс CheckboxGroup
Элемент управления Choice
Обработка списков типа Choice
Использование списков
Обработка списков
Управление полосами прокрутки
Обработка полос прокрутки
Использование класса TextField
Обработка TextField
Использование TextArea
Понятие менеджера компоновки
Менеджер FlowLayout
Класс BorderLayout
Использование вставок
Менеджер GridLayout
Класс CardLayout
Панели меню и меню
Диалоговые окна
Класс FileDialog
Обработка событий путем расширения AWT-компонентов
Расширение класса Button
Расширение класса Checkbox
Расширение группы флажков
Расширение класса Choice
Расширение класса List
Расширение класса Scrollbar
Исследование элементов управления, меню и менеджеров компоновки
Глава 23. Работа с изображениями
Форматы графических файлов
Создание, загрузка и просмотр изображений
Создание объекта изображения
Загрузка изображения
Просмотр изображения
Интерфейс ImageObserver
Пример с ImageObserver
Двойная буферизация
Класс MediaTracker
Интерфейс ImageProducer
Производитель изображений MemoryImageSource
Интерфейс ImageConsumer
Класс PixelGrabber
Класс ImageFilter
Фильтр CropImageFilter
Фильтр RGBImageFilter
Анимация ячеек
Дополнительные классы изображений Java 2
Глава 24. Дополнительные пакеты
Пакеты ядра Java API
Отражение
Вызов удаленных методов (RMI)
Простое RMI -приложение клиент-сервер
Текстовое форматирование
Класс DateFormat
Класс SimpleDateFormat
ЧАСТЬ III. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Глава 25. Компоненты Java Beans
Что такое Java Bean-компонент?
Преимущества технологии Java Beans
Инструментарий построения приложений
Комплект разработчика Bean-компонентов
Установка BDK
Запуск BDK
Использование BDK
JAR-файлы
Файлы описания
Утилита jar
Интроспекция
Проектные шаблоны для свойств
Проектные шаблоны для событий
Методы
Разработка простого Bean-компонента
Создание нового Bean-компонента
Использование связанных свойств
Алгоритм
Использование интерфейса BeanInfo
Ограниченные свойства
Сохраняемость
Конфигураторы
Java Beans API
Будущее Bean-технологии
Глава 26. Система Swing
Класс JApplet
Значки и метки
Текстовые поля
Кнопки
Класс JButton
Флажки
Переключатели
Поля со списком
Панели со вкладками
Панели прокрутки
Деревья
Таблицы
Другие возможности и будущее Swing-технологии
Глава 27. Сервлеты
Предпосылки
Жизненный цикл сервлета
Java Servlet Development Kit
Простой сервлет
Создание и компиляция исходного кода сервлета
Запуск утилиты servletrunner
Запуск Web-браузера и запрос сервлета
Servlet API
Пакет javax.servlet
И интерфейс Servlet
Интерфейс ServletConfig
Интерфейс ServletContext
Интерфейс ServletRequest
Интерфейс ServletResponse
Интерфейс SingleThreadModel
Класс GenericServlet
Класс ServletInputStream
Класс ServletOutputStream
Класс ServletException
Класс UnavailableException
Чтение параметров сервлета
Чтение параметров инициализации
Пакет javax.servlet.http
Интерфейс HttpServletRequest
Интерфейс HttpServletResponse
Интерфейс HttpSession
Интерфейс Http SessionBindingListener
Интерфейс HttpSessionContext
Класс Cookie
Класс HttpServlet
Класс HttpSessionBindingEvent
Класс HttpUtils
Обработка запросов и ответов HTTP
Обработка GET-запросов HTTP
Обработка POST-запросов HTTP
Использование cookie-данных
Прослеживание сеанса
Проблемы защиты
Исследование сервлетов
Глава 28. Миграция из C++ в Java
Различия между C++ и Java
Что Java исключил из C++
Новые свойства, добавленные в Java
Отличающиеся свойства
Исключение указателей в C++
Преобразование параметров типа указателя
Преобразование указателей, работающих на массивах
Ссылочные параметры C++ в сравнении со ссылочными параметрами Java
Преобразование абстрактных классов C++ в Java-интерфейсы
Преобразование умалчиваемых аргументов
Преобразование иерархий множественного наследования C++
Деструкторы в сравнении с методом finalize()
ЧАСТЬ IV. ПРИМЕНЕНИЕ JAVA
Глава 29. Апплет DynamicBillboard
Тег lt;appletgt;
Обзор исходного кода
DynamicBillboard.java
BillData.java
BillTransition.java
ColumnTransition.java
FadeTransition.java
SmashTransition.java
TearTransition.java
UnrollTransition.java
Динамический код
Глава 30. ImageMenu: Web-меню изображений
Исходное изображение
Тег lt;appletgt;
Методы
Метод init()
Метод update()
Метод lateInit()
Метод paint()
Метод mouseExited()
Метод mouseDraggedO
Метод mouseMoved()
Метод mouseReleased()
Код
Резюме
Глава 31. Апплет Lavatron дисплей для спортивной арены
Как работает Lavatron
Исходный код
Тег lt;appletgt;
Lavatron.java
Класс IntHash
Апплет Hot Lava
Глава 32. Scrabblet: многопользовательская игра в слова
Вопросы сетевой безопасности
Игра
Подсчет очков
Исходный код
Тег lt;appletgt;
Scrabblet.java
IntroCanvas.java
Board.java
Bag.java
Letter.java
ServerConnection.java
Код сервера
Server.java
ClientConnectionJava
Совершенствование Scrabblet
Приложение. Использование документационных комментариев Java
Тег @author
Тег @author
Тег @deprecated
Тег cexception
Тег {@link}
Тег @param
Тег @return
Тег @see
Тег cserial
Тег @serialData
Тег @serialField
Тег @since
Тег @throws
Тег @version
Общая форма документационного комментария
Что выводит javadoc
Пример использования документационных комментариев
Предметный указатель
Начало
Предисловие
Об авторах
Заказать книгу в магазине "Мистраль"
|
|
|
|
|
|
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее... |
|