Программируем на Java. 5-е межд. изд.
معرفی کتاب «Программируем на Java. 5-е межд. изд.» نوشتهٔ Марк Лой, Патрик Нимайер, Дэниэл Лук، منتشرشده توسط نشر Питер در سال 2023. این کتاب در فرمت pdf، زبان ru ارائه شده است. «Программируем на Java. 5-е межд. изд.» در دستهٔ بدون دستهبندی قرار دارد.
Предисловие Кому пригодится эта книга Последние изменения Что нового в этом издании книги (Java 11, 12, 13, 14) Структура книги Интернет-ресурсы Условные обозначения Использование исходного кода примеров Благодарности От издательства Глава 1. Современный язык Появление Java Происхождение Java Развитие Виртуальная машина Сравнение Java с другими языками Структурная безопасность Упрощать, упрощать, упрощать... Безопасность типов и связывание методов Инкрементальная разработка Динамическое управление памятью Обработка ошибок Потоки Масштабируемость Безопасность на уровне исполнительной системы Java Верификатор Загрузчики классов Менеджеры безопасности Безопасность на уровнях приложения и пользователя История Java Прошлое: Java 1.0 — Java 13 Настоящее: Java 14 Будущее Доступные средства Глава 2. Первое приложение Инструменты и среда Java Установка JDK Установка OpenJDK в Linux Установка OpenJDK в macOS Установка OpenJDK в Windows Настройка конфигурации IntelliJ IDEA и создание проекта Запуск программы Загрузка примеров кода HelloJava Классы Метод main() Классы и объекты Переменные и типы HelloComponent Наследование Класс JComponent Отношения между классами Пакеты и импортирование Метод paintComponent() HelloJava2: продолжение Переменные экземпляра Конструкторы События Метод repaint() Интерфейсы До свидания... и снова здравствуйте! Глава 3. Рабочие инструменты Среда JDK Виртуальная машина Java Запуск приложений Java Системные параметры Classpath javap Модули Компилятор Java Первые эксперименты с Java JAR-файлы Сжатие Утилита jar Утилита pack200 Следующий шаг Глава 4. Язык Java Кодирование текста Комментарии Комментарии javadoc Переменные и константы Типы Примитивные типы Ссылочные типы Автоматическое определение типов Передача ссылок Несколько слов о строках Команды и выражения Команды Выражения Массивы Типы массивов Создание и инициализация массива Использование массивов Анонимные массивы Многомерные массивы Типы, классы, массивы... и jshell Глава 5. Объекты в Java Классы Объявление классов и создание экземпляров Обращение к полям и методам Статические поля и методы Методы Локальные переменные Замещение Статические методы Инициализация локальных переменных Передача аргументов и ссылки Обертки для примитивных типов Перегрузка методов Создание объектов Конструкторы Работа с перегруженными конструкторами Уничтожение объектов Уборка мусора Пакеты Импортирование классов Пользовательские пакеты Видимость полей и методов класса Компиляция с пакетами Нетривиальное проектирование классов Субклассирование и наследование Интерфейсы Внутренние классы Анонимные внутренние классы Систематизация кода и планирование на случай ошибок Глава 6. Обработка ошибок и запись в журнал Исключения Исключения и классы ошибок Обработка исключений Всплывающие исключения Трассировка стека Проверяемые и непроверяемые исключения Выдача исключений «Расползание» блока try Секция finally try с ресурсами Обработка исключений и быстродействие Проверочные утверждения Включение и отключение проверочных утверждений Использование проверочных утверждений Журнальный API Общие сведения Уровни вывода Простой пример Конфигурирование журнального API Протоколировщик Быстродействие Исключения в реальном мире Глава 7. Коллекции и обобщения Коллекции Интерфейс Collection Разновидности коллекций Интерфейс Map Ограничения типов Контейнеры Можно ли улучшить контейнеры? Знакомство с обобщениями Несколько слов о типах «Ложки не существует» Стирание типов Необработанные типы Отношения между параметризованными типами Почему List не является List ? Преобразования типов Преобразования между коллекциями и массивами Итератор Метод sort() Приложение: деревья на поле Заключение Глава 8. Текст, числа, дата и время Строки Создание строк Создание строк по другим данным Сравнение строк Поиск Список методов String Создание объектов по строкам Разбор примитивных чисел Разбиение текста на лексемы Регулярные выражения Общие сведения о регулярных выражениях API регулярных выражений java.util.regex Класс Math Класс java.lang.Math Большие числа Дата и время Локальные дата и время Создание и обработка значений даты и времени Часовые пояса Разбор и форматирование даты и времени Разбор ошибок Временные метки Другие полезные средства Глава 9. Потоки Знакомство с потоками Класс Thread и интерфейс Runnable Управление потоками Смерть потоков Синхронизация Организация последовательного доступа к методам Обращение к переменным классов и экземпляров из нескольких потоков Планирование и приоритеты Состояние потока Квантование Приоритеты Уступка управления Быстродействие потоков Цена синхронизации Потребление ресурсов потоками Вспомогательные средства параллелизма Глава 10. Десктопные приложения Кнопки, ползунки и текстовые поля Иерархии компонентов Архитектура «Модель — представление — контроллер» Надписи и кнопки Текстовые компоненты Другие компоненты Контейнеры и макеты JFrame и JWindow JPanel Менеджеры макетов События События мыши События действий События Change Другие события Модальные и всплывающие окна Диалоговые окна сообщений Диалоговые окна подтверждения Диалоговые окна ввода Влияние многопоточности SwingUtilities и обновление компонентов Таймеры Что дальше? Меню Хранение конфигураций Нестандартные компоненты и Java 2D JavaFX Думайте о пользователях Глава 11. Сетевые коммуникации и ввод-вывод Потоки данных Базовый ввод-вывод Символьные потоки данных Обертки для потоков данных Класс java.io.File Файловые потоки данных RandomAccessFile Файловый API пакета NIO FileSystem и Path Файловые операции NIO Пакет NIO Асинхронный ввод-вывод Быстродействие Отображаемые и блокируемые файлы Каналы Буферы Кодировщики и декодировщики символов FileChannel Сетевое программирование Сокеты Клиенты и серверы Клиент DateAtHost Сетевая игра Дальнейшие исследования Глава 12. Веб-программирование URL Класс URL Потоковые данные Получение контента в виде объекта Управление соединениями Проблема обработчиков Полезные фреймворки обработчиков Взаимодействие с веб-приложениями Метод GET Метод POST HttpURLConnection HTTPS и безопасная передача данных Веб-приложения Java Жизненный цикл сервлета Сервлеты Сервлет HelloClient Ответ сервлета Параметры сервлетов Сервлет ShowParameters Управление сеансами пользователей Сервлет ShowSession Контейнеры сервлетов Настройка конфигурации с использованием web.xml и аннотаций URL-шаблоны Развертывание сервлета HelloClient Безграничный интернет Глава 13. Перспективы Java Выпуски Java JCP и JSR Лямбда-выражения Переработка существующего кода За пределами базовых возможностей Java Заключение и следующие шаги Приложение. Примеры кода и IntelliJ IDEA Где загрузить примеры кода Установка IntelliJ IDEA Установка в Linux Установка в macOS Установка в Windows Импортирование примеров кода Запуск примеров кода Загрузка кода веб-приложений Работа с сервлетами Глоссарий Об авторах Об обложке
دانلود کتاب Программируем на Java. 5-е межд. изд.