Направленность этого двухтомного издания - изучение Java

Двухтомное издание.

Направленность этого двухтомного издания — изучение Java и его библиотек с полным пониманием основ и расширенных средств программирования данной платформы. В книгах приводится большое количество примеров кода показывающих основные языковые конструкции и методологию кодирования. Они помогут вам вести более эффективное изучение технологии Java.
ISBN 978-5-8459-1886-4 (рус., многотомное)

 


Java. Библиотека профессионала-том-1.

Основы Java.

Кей Хорстманн, Гари Корнелл «Java. Библиотека профессионала. Том 1» Вильямс, 2014 год, 864 стр., ил., 9-е издание (48,4 мб. pdf)

Это первый том девятого издания, в котором раскрываются основы Java. Данное издание обновлено с учетом нововведений и дополнений версии Java Standard Edition (SE) 7. Как и все предыдущие восемь изданий этой книги, она предназначена для профессиональных программистов, или для тех, кто такими хотел бы стать, для которых изучение Java — это настоящая работа.
Цель этой книги — помочь в изучении и понимании платформы и исполняющей среды Java.
ISBN 978-5-8459-1869-7 (рус., том 1)

Оглавление книги
Глава 1. Введение в язык Java
Программная платформа Java
Характерные особенности Java
Простота
Объектно-ориентированный характер
Поддержка распределенных вычислений в сети
Надежность
Безопасность
Независимость от архитектуры компьютера
Переносимость
Интерпретируемость
Производительность
Многопоточность
Динамичность
Аплеты и Интернет
Краткая история развития Java
Распространенные заблуждения относительно Java

Глава 2. Среда программирования на Java
Установка Java Development Kit
Загрузка JDK
Задание пути к исполняемым файлам
Установка библиотек и документации
Установка примеров программ
Перемещение по каталогам
Выбор среды для разработки программ
Использование инструментов командной строки
Указания по выявлению ошибок
Применение ИСР
Выявление ошибок компиляции
Выполнение графического приложения
Построение и запуск аплетов

Глава 3. Основные языковые конструкции Java
Простая программа на Java
Комментарии
Типы данных
Целочисленные типы данных
Числовые типы данных с плавающей точкой
Тип данных char
Тип данных boolean
Переменные
Инициализация переменных
Константы
Операции
Операции инкрементирования и декрементирования
Операции отношения и логические операции
Поразрядные операции
Математические функции и константы
Преобразование числовых типов
Приведение типов
Скобки и иерархия операций
Перечислимые типы
Символьные строки
Подстроки
Сцепление
Принцип постоянства символьных строк
Проверка символьных строк на равенство
Пустые и нулевые строки
Кодовые точки и кодовые единицы
Прикладной интерфейс API класса String
Оперативно доступная документация на API
Построение символьных строк
Ввод и вывод
Чтение вводимых данных
Форматирование выводимых данных
Файловый ввод и вывод
Управляющая логика
Область действия блоков
Условные операторы
Неопределенные циклы
Определенные циклы
Оператор switch для многовариантного выбора
Операторы прерывания логики управления программой
Большие числа
Массивы
Цикл в стиле for each
Инициализация массивов и анонимные массивы
Копирование массивов
Параметры командной строки
Сортировка массива
Многомерные массивы
Неровные массивы

Глава 4 Объекты и классы
Введение в объектно-ориентированное программирование
Классы
Объекты
Идентификация классов
Отношения между классами
Применение предопределенных классов
Объекты и объектные переменные
Класс GregorianCalendar из библиотеки Java
Модифицирующие методы и методы доступа
Определение собственных классов
Класс Employee
Использование нескольких исходных файлов
Анализ класса Employee
Первые действия с конструкторами
Явные и неявные параметры
Преимущества инкапсуляции
Привилегии доступа к данным в классе
Закрытые методы
Неизменяемые поля экземпляра
Статические поля и методы
Статические поля
Статические константы
Статические методы
Фабричные методы
Метод main ()
Параметры методов
Конструирование объектов
Перегрузка
Инициализация полей по умолчанию
Конструктор без аргументов
Явная инициализация полей
Имена параметров
Вызов одного конструктора из другого
Блоки инициализации
Уничтожение объектов и метод finalize ()
Пакеты
Импорт классов
Статический импорт
Ввод классов в пакеты
Область действия пакетов
Путь к классам
Указание цути к классам
Комментарии и документирование
Вставка комментариев
Комментарии к классам
Комментарии к методам
Комментарии к полям
Комментарии общего характера
Комментарии к пакетам и обзорные
Извлечение комментариев
Рекомендации по разработке классов

Глава 5. Наследование
Классы, суперклассы и подклассы
Иерархии наследования
Полиморфизм
Динамическое связывание
Предотвращение наследования: конечные классы и методы
Приведение типов
Абстрактные классы
Защищенный доступ
Глобальный суперкласс Object
Метод equals ()
Проверка равнозначности объектов и наследование
Метод hashCode ()
Метод toString ()
Обобщенные списочные массивы
Доступ к элементам списочных массивов
Совместимость типизированных и базовых списочных массивов
Объектные оболочки и автоупаковка
Методы с переменным числом параметров
Классы перечислений
Рефлексия
Класс Class
Основы обработки исключений
Анализ функциональных возможностей классов с помощью рефлексии
Анализ объектов во время выполнения с помощью рефлексии
Написание кода обобщенного массива с помощью рефлексии
Вызов произвольных методов
Рекомендации по применению наследования

Глава 6 . Интерфейсы и внутренние классы
Интерфейсы
Свойства интерфейсов
Интерфейсы и абстрактные классы
Клонирование объектов
Интерфейсы и обратные вызовы
Внутренние классы
Доступ к состоянию объекта с помощью внутреннего класса
Специальные синтаксические правила для внутренних классов
О пользе, необходимости и безопасности внутренних классов
Локальные внутренние классы
Доступ к конечным переменным из внешних методов
Анонимные внутренние классы
Статические внутренние классы
Прокси-классы
Свойства прокси-классов

Глава 7. Программирование графики
Общие сведения о библиотеке Swing
Создание фрейма
Расположение фрейма
Свойства фрейма
Определение подходящих размеров фрейма
Отображение данных в компоненте
Двухмерные формы
Окрашивание цветом
Специальное шрифтовое оформление текста
Вывод изображений

Глава 8 . Обработка событий
Общее представление об обработке событий
Пример обработки событий от щелчков на кнопке
Овладение внутренними классами
Создание приемников событий с единственным вызовом метода
Пример изменения визуального стиля
Классы адаптеров
Действия
События от мыши
Иерархия событий в библиотеке AWT
Семантические и низкоуровневые события

Глава 9. Компоненты пользовательского интерфейса в Swing
Библиотека Swing и шаблон проектирования «модель-предсгавление-контроллер»
Шаблоны проектирования
Шаблон проектирования «модель-предсгавление-контроллер»
Анализ кнопок в Swing по шаблону «модель-предсгавление-контроллер»
Введение в компоновку пользовательского интерфейса
Граничная компоновка
Сеточная компоновка
Ввод текста
Текстовые поля
Метки и пометка компонентов
Поля для ввода пароля
Текстовые области
Панели прокрутки
Компоненты для выбора разных вариантов
Флажки
Кнопки-переключатели
Рамки
Комбинированные списки
Регулируемые ползунки
Меню
Создание меню
Пиктограммы в пунктах меню
Пункты меню с флажками и кнопками-переключателями
Всплывающие меню
Клавиши быстрого доступа и оперативные клавиши
Разрешение и запрет доступа к пунктам меню
Панели инструментов
Всплывающие подсказки
Расширенные средства компоновки
Диспетчер сеточно-контейнерной компоновки
Диспетчер групповой компоновки
Компоновка без диспетчера
Специальные диспетчеры компоновки
Порядок обхода компонентов
Диалоговые окна
Диалоговые окна для выбора разных вариантов
Создание диалоговых окон
Обмен данными
Диалоговые окна для обращения с файлами
Диалоговые окна для выбора цвета

Глава 10. Развертывание приложений и аплетов
Файлы формата JAR
Файл манифеста
Исполняемые J AR-файлы
Ресурсы
Герметизация пакетов
Технология Java Web Start
«Песочница»
Подписанный код
Прикладной интерфейс JNLP API
Аплеты
Простой аплет
HTML-дескриптор <applet> и его атрибуты
Дескриптор <object>
Передача данных аплетам через параметры
Обращение к файлам изображений и звуковым файлам
Контекст аплета
Сохранение глобальных параметров настройки приложений
Таблица свойств
Прикладной интерфейс API для сохранения глобальных параметров настройки

Глава 11. Исключения, утверждения, протоколирование и отладка
Обработка ошибок
классификация исключений
Объявление проверяемых исключений
Порядок генерирования исключений
Создание классов исключений
Перехват исключений
Повторное генерирование исключений
Блок finally
Оператор try с ресурсами
Анализ элементов трассировки стека
Рекомендации по обработке исключений
Применение утверждений
Разрешение и запрет утверждений
Проверка параметров с помощью утверждений
Документирование предположений с помощью утверждений
Протоколирование
Элементарное протоколирование
Усовершенствованное протоколирование
Смена диспетчера протоколирования
Интернационализация
Обработчики протоколов
Фильтры
Средства форматирования
«Рецепт» протоколирования
Рекомендации по отладке программ
Рекомендации по отладке программ с ГПИ
Применение робота AWT
Применение отладчика

Глава 12. Обобщенное программирование
Назначение обобщенного программирования
На кого рассчитано обобщенное программирование
Определение простого обобщенного класса
Обобщенные методы
Ограничения на переменные типа
Обобщенный код и виртуальная машина
Преобразование обобщенных выражений
Преобразование обобщенных методов
Вызов унаследованного кода
Ограничения и пределы обобщений
Параметрам типа нельзя приписывать простые типы
Во время выполнения можно запрашивать только базовые типы
Массивы параметризованных типов недопустимы
Предупреждения о переменном числе аргументов
Нельзя создавать экземпляры переменных типа
Переменные типа в статическом контексте обобщенных классов недействительны
Нельзя генерировать или перехватывать экземпляры обобщенного класса в виде
исключений
Остерегайтесь конфликтов после стирания типов
Правила наследования обобщенных типов
Подстановочные типы
Ограничения супертипа на подстановки
Неограниченные подстановки
Захват подстановок
Рефлексия и обобщения
Сопоставление типов с помощью параметров Class<T>
Сведения об обобщенных типах в виртуальной машине

Глава 13. Коллекции
Интерфейсы коллекций
Разделение интерфейсов и реализаций коллекций
Интерфейсы Collection и Iterator из библиотеки Java
Конкретные коллекции
Связные списки
Списочные массивы
Хеш-множества
Древовидные множества
Сравнение объектов
Односторонние и двухсторонние очереди
Очереди по приоритету
Отображения
Классы специализированных множеств и отображений
Архитектура коллекций
Представления и оболочки
Групповые операции
Взаимное преобразование коллекций и массивов
Алгоритмы
Сортировка и перетасовка
Двоичный поиск
Простые алгоритмы
Написание собственных алгоритмов
Унаследованные коллекции
Класс Hashtable
Перечисления
Таблицы свойств
Стеки
Битовые множества
Реализация алгоритма «Решето Эратосфена»

Глава 14 . Многопоточная обработка
Назначение потоков
Предоставление возможности для выполнения других задач с помощью потоков
Прерывание потоков
Состояния потоков
Новые потоки
Исполняемые потоки
Блокированные и ожидающие потоки
Завершенные потоки
Свойства потоков
Приоритеты потоков
Потоковые демоны
Обработчики необрабатываемых исключений
Синхронизация
Пример состояния гонок
Объяснение причин, приводящих к состоянию гонок
Объекты блокировки
Объекты условий
Ключевое слово synchronized
Синхронизированные блоки
Принцип монитора
Поля и переменные типа volatile
Поля и переменные типа final
Атомарность операций
Бзаимные блокировки
Локальные переменные потоков
Проверка блокировок и время ожидания
Блокировки чтения/записи
Причины, по которым методы stop () и suspend () не рекомендованы к применению
Блокирующие очереди
Потокобезопасные коллекции
Эффективные отображения, множества и очереди
Копируемые при записи массивы
Устаревшие потокобезопасные коллекции
Интерфейсы Callable и Future
Исполнители
Пулы потоков
Плановое выполнение потоков
Управление группами задач
Архитектура вилочного соединения
Синхронизаторы
Семафоры
Защелки с обратным отсчетом
Барьеры
Обменники
Синхронные очереди
Потоки и библиотека Swing
Выполнение продолжительных задач
Применение класса SwingWorker
Правило единственного потока
Приложение А. Ключевые слова Java
Предметный указатель


Java. Библиотека профессионала-том-2.

Расширенные средства программирования.

Кей Хорстманн, Гари Корнелл «Java. Библиотека профессионала. Том 2» Вильямс, 2014 год, 1008 стр., ил., 9-е издание (54,6 мб. pdf)

Второй том девятого издания так же обновлен до версии Java SE 7. В нем рассматриваются расширенные функциональные возможности, которыми пользуются программисты при разработке коммерческого и рикладного программного обеспечения на профессиональном уровне. Поэтому второй том, будет полезен для реально практикующих разработчиков ПО на Java платформе, которые свободно обращаться со сложными языковыми инструментами, как внутренние и обобщенные классы. Второй том полностью самодостаточен, и читать первый том для тех кто уже разбирается в Java совсем не обязательно. Вторй том даст информацию о новых функциональных возможностях, добавленых в Java SE 7, интерфейсе API с файловым вводом-выводом и обновленных возможностях разработки графических пользовательских интерфейсов. Исходный код примеров — переработан и обновлен с учетом Java SE 7. Книга для опытных программистов.

ISBN 978-5-8459-1870-3 (рус., том 2)

Оглавление книги

Глава 1. Потоки ввода-вывода и файлы
Потоки ввода-вывода
Чтение и запись байтов
Полный комплект потоков ввода-вывода
Сочетание потоковых фильтров
Ввод-вывод текста
Вывод текста
Ввод текста
Сохранение объектов в текстовом формате
Наборы символов
Чтение и запись двоичных данных
Файлы с произвольным доступом
ZIP-архивы
Потоки ввода-вывода и сериализация объектов
Представление о формате файлов для сериализации объектов
Видоизменение исходного механизма сериализации
Сериализация одноэлементных множеств и типизированных перечислений
Контроль версий
Применение сериализации для клонирования
Обращение с файлами
Пути к файлам
Чтение и запись данных в файлы
Копирование, перемещение и удаление файлов
Создание файлов и каталогов
Получение сведений о файлах
Перемещение по файлам и каталогам
Системы ZIP-файлов
Отображаемые в памяти файлы
Структура буфера данных
Блокирование файлов
Регулярные выражения

Глава 2. XML
Введение в XML
Структура XML-доку мента
Синтаксический анализ XML-документов
Проверка достоверности XML-документов
Определения типов документов
Схема XML-документов
Практический пример применения XML-документов
Поиск информации средствами XPath
Использование пространств имен
Потоковые синтаксические анализаторы
Применение SAX-анализатора
Применение StAX-анализатора
Формирование XML-документов
XML-доку менты без пространств имен
XML-документы с пространствами имен
Запись XML-документов
Пример формирования файла в формате SVG
Запись XML-документов средствами St АХ
Преобразование XML-документов языковыми средствами XSLT

Глава 3. Работа в сети
Подключение к серверу
Время ожидания для сокетов
Межсетевые адреса
Реализация серверов
Обслуживание многих клиентов
Полузакрытое
Прерываемые сокеты
Получение данных из Интернета
URL и URI
Извлечение данных средствами класса URLConnection
Отправка данных формы
Отправка электронной почты

Глава 4. Работа с базами данных
Структура JDBC
Типы драйверов JDBC
Типичные примеры применения JDBC
Язык SQL
Конфигурирование JDBC
URL базы данных
JAR-файлы драйверов
Запуск базы данных
Регистрация класса драйвера
Соединение с базой данных
Выполнение команд SQL
Управление соединениями, командами и результирующими наборами
Анализ исключений SQL
Заполнение базы данных
Выполнение запросов
Подготовленные операторы и запросы
Чтение и запись больших объектов
Синтаксис переходов в SQL
Множественные результаты
Извлечение автоматически генерируемых ключей
Прокручиваемые и обновляемые результирующие наборы
Прокручиваемые результирующие наборы
Обновляемые результирующие наборы
Наборы строк
Построение наборов строк
Кешируемые наборы строк
Метаданные
Транзакции
Точки сохранения
Групповые обновления
Расширенные типы данных SQL
Управление соединениями с базами данных в веб-приложениях и производственных приложениях

Глава 5. Интернационализация
Региональные настройки
Числовые форматы
Форматирование денежных сумм в разных валютах
Форматирование даты и времени
Сортировка
Избирательность сортировки
Разложение на составляющие
Форматирование сообщений
Форматы выбора
Текстовые файлы и наборы символов
Кодирование символов в исходных файлах
Комплекты ресурсов
Обнаружение комплектов ресурсов
Файлы свойств
Классы комплектов ресурсов
Пример интернационализации прикладной программы

Глава 6. Расширенные средства Swing
Списки
Компонент JList
Модели списков
Ввод и удаление значений
Воспроизведение значений
Таблицы
Простая таблица
Модели таблиц
Обращение со строками и столбцами таблицы
Воспроизведение и редактирование ячеек таблицы
Деревья
Простые деревья
Перечисление узлов
Воспроизведение узлов
Обработка событий в деревьях
Специальные модели деревьев
Текстовые компоненты
Отслеживание изменений в текстовых компонентах
Поля ввода форматируемого текста
Компонент JSpinner
Отображение HTML-документов средствами JEdi t o r Pane
Индикаторы состояния
Индикаторы выполнения
Мониторы текущего состояния
Контроль чтения данных из потока ввода
Организаторы и декораторы компонентов
Разделяемые панели
Панели с вкладками
Настольные панели и внутренние фреймы
Каскадное и мозаичное расположение фреймов
Наложение запрета на установку свойств

Глава 7. Расширенные средства AWT
Конвейер визуализации
Фигуры
Применение классов фигур
Участки
Обводка
Раскраска
Преобразование координат
Отсечение
Прозрачность и композиция
Указания по воспроизведению
Чтение и запись изображений
Получение средств чтения и записи изображений по типам файлов
Чтение и запись файлов с несколькими изображениями
Манипулирование изображениями
Формирование растровых изображений
Фильтрация изображений
Вывод изображений на печать
Вывод двухмерной графики на печать
Многостраничная печать
Предварительный просмотр печати
Службы печати
Потоковые службы печати
Буфер обмена
Классы и интерфейсы для передачи данных
Передача текста
Интерфейс Transferable и разновидности данных
Передача изображений через буфер обмена
Передача объектов Java через системный буфер обмена
Передача ссылок на объекты через локальный буфер обмена
Перетаскивание объектов
Поддержка передачи данных в Swing
Источники перетаскивания
Приемники перетаскивания
Начальные экраны
Запуск настольных приложений
Системная область

Глава 8. Компоненты JavaBeans
Назначение компонентов JavaBeans
Создание компонентов JavaBeans
Применение компонентов JavaBeans для разработки приложений
Упаковка компонентов JavaBeans в JAR-файлы
Составление приложения из компонентов JavaBeans в ИСР
Шаблоны именования свойств и событий в компонентах JavaBeans
Типы свойств компонентов JavaBeans
Простые свойства
Индексируемые свойства
Связанные свойства
Ограниченные свойства
Классы типа BeanInfо
Редакторы свойств
Создание редакторов свойств
Настройщики
Создание класса настройщика
Сохраняемость компонентов JavaBeans
Применение сохраняемости компонентов JavaBeans к произвольным данным
Исчерпывающий пример сохраняемости компонентов JavaBeans

Глава 9. Безопасность
Загрузчики классов
Иерархия загрузчиков классов
Применение загрузчиков классов в качестве пространств имен
Создание собственного загрузчика классов
Верификация байт-кода
Диспетчеры защиты и полномочия
Организация защиты на платформе Java
Файлы правил защиты
Пользовательские полномочия
Реализация класса полномочий
Аутентификация пользователей
Модули регистрации в службе JAAS
Цифровые подписи
Свертки сообщений
Подписание сообщений
Верификация подписи
Проблема аутентификации
Подписание сертификатов
Запросы сертификатов
Подписание кода
Подписание JAR-файлов
Сертификаты разработчиков программного обеспечения
Шифрование
Симметричные шифры
Генерирование ключей шифрования
Потоки шифрования
Шифрование открытым ключом

Глава 10. Создание сценариев, компиляция и обработка аннотаций
Написание сценариев для платформы Java
Получение механизма сценариев
Оценка сценариев и привязки
Переадресация ввода-вывода
Вызов сценарных функций и методов
Компиляция сценариев
Пример создания сценария для обработки событий в ГПИ
Прикладной интерфейс API для компилятора
Простой способ компилирования
Выполнение заданий на компиляцию
Пример динамического генерирования кода Java
Применение аннотаций
Пример аннотирования обработчиков событий
Синтаксис аннотаций
Стандартные аннотации
Аннотации для компиляции
Аннотации для управления ресурсами
Мета-аннотации
Обработка аннотаций на уровне исходного кода
Конструирование байт-кодов
Видоизменение байт-кодов во время загрузки

Глава 11. Распределенные объекты
Роли клиента и сервера
Вызовы удаленных методов
Заглушки и упаковка параметров
Модель программирования RMI
Интерфейсы и реализации
Реестр RMI
Развертывание программы
Протоколирование действий RMI
Параметры и возвращаемые значения в удаленных методах
Передача удаленных объектов
Передача неудаленных объектов
Динамическая загрузка классов
Удаленные ссылки на несколько интерфейсов
Удаленные объекты и методы equals () , hashCode () и clone ()
Активизация удаленных объектов

Глава 12. Собственные методы
Вызов функции на С из программы на Java
Числовые параметры и возвращаемые значения
Форматирование чисел с помощью функции p r i n t f ()
Строковые параметры
Доступ к полям
Доступ к полям экземпляра
Доступ к статическим полям
Кодирование сигнатур
Вызов методов на Java
Методы экземпляра
Статические методы
Конструкторы
Альтернативные вызовы методов
Доступ к элементам массивов
Обработка ошибок
Применение прикладного интерфейса API для вызовов
Пример обращения к реестру Windows
Общее представление о реестре Windows
Интерфейс на платформе Java для доступа к реестру
Реализация функций доступа к реестру в виде собственных методов
Предметный указатель

Скачать Том 1 бесплатно48,4 мб. pdf Скачать Том 2 бесплатно54,6 мб. pdf

Похожая литература