Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

JAVA 2. В подлиннике. Наиболее полное руководство

П. Ноутон, Г.Шилдт

Издано: 2000, СПб., БХВ-Петербург
Для широкого круга программистов
ISBN: 5-94157-012-0
Мягкий переплет, 1072 стр.
Формат: 70x100 1/16

Начало
Предисловие
Об авторах
[Заказать книгу в магазине "Мистраль"]

Содержание



Об авторах
Благодарности
Предисловие

ЧАСТЬ 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
Пример использования документационных комментариев

Предметный указатель

Начало
Предисловие
Об авторах
Заказать книгу в магазине "Мистраль"

 

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...