Главная страница
Навигация по странице:

  • ББК Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм.

  • Authorized translation from the English language edition published by McGraw-Hill Companies, Copyright © 2011.

  • Russian language edition published by Williams Publishing House according to the Agreement with RI Enterprises International, Copyright © 2012

  • Подписано в печать 10.02.2012. Формат 70x100/16.

  • ISBN 978-5-8459-1759-1 (рус) © Издательский дом “Вильямс”, 2012 ISBN 978-0-07-160630-1 (англ) © by The McGraw-Hill Companies, 2011 Оглавление

  • Java. Полное руководство. 8-е издание. С. Н. Тригуб Перевод с английского и редакция


    Скачать 25.04 Mb.
    НазваниеС. Н. Тригуб Перевод с английского и редакция
    АнкорJava. Полное руководство. 8-е издание.pdf
    Дата28.02.2017
    Размер25.04 Mb.
    Формат файлаpdf
    Имя файлаJava. Полное руководство. 8-е издание.pdf
    ТипДокументы
    #3236
    страница1 из 90
      1   2   3   4   5   6   7   8   9   ...   90

    ББК 32.973.26-018.2.75 Ш
    УДК Издательский дом “Вильямс”
    Зав. редакцией
    С.Н. Тригуб Перевод с английского и редакция
    В.А. Коваленко
    По общим вопросам обращайтесь в Издательский дом “Вильямс” по адресу info@williamspublishing.com, http:/ Ш илдт,
    Герберт.
    Ш57
    Java. Полное руководство, е изд Перс англ. — М .: ООО “И.Д. Вильямс”,
    2012. — 1104 сил Парал. тит. англ 978-5-8459-1759-1 (рус.)
    ББК Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм.
    Никакая часть настоящего издания нив каких целях не может быть воспроизведена в какой бы тони было форме и какими бы тони было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства Osborne Media.
    Authorized translation from the English language edition published by McGraw-Hill Companies,
    Copyright © 2011.
    All rights reserved. Except as permitted under the Copyright Act of 1976, no part of this publication may
    be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without
    the prior written permission of Publisher, with the exception that the program listings may be entered, stored,
    and executed in a computer system, but they may not be reproduced for publication.
    Oracle and Java are registered trademarks of Oracle Corporation a n d /o r its affiliates.
    Russian language edition published by Williams Publishing House according to the Agreement with R&I
    Enterprises International, Copyright © 2012
    Научно-популярное издание
    Герберт Ш илдт
    Java. Полное руководство
    8-е издание
    Литературный редактор ЕД. Давидян

    Верстка
    О.В. Мигиутпина Художественный редактор
    Е.П. Дынник Корректор
    Л.А. Гордиенко
    Подписано в печать 10.02.2012. Формат 70x100/16. Гарнитура Times. Печать офсетная.

    Уел. печ. л. 89,01. Уч.-изд. л. Тираж 1500 экз. Заказ № Первая Академическая типография Наука, Санкт-Петербург, я линия ВО, д. ООО И. Д. Вильямс”, 127055, г. Москва, ул. Лесная, д. 43, стр. 1
    ISBN 978-5-8459-1759-1 (рус)
    © Издательский дом “Вильямс”, 2012
    ISBN 978-0-07-160630-1 (англ)
    © by The McGraw-Hill Companies, 2011

    Оглавление
    Введение Часть I. Язык Глава 1. История и развитие языка Java Глава 2. Обзор языка Java Глава 3. Типы данных, переменные и массивы Глава 4. Операторы Глава 5. Управляющие операторы Глава 6. Знакомство с классами Глава 7. Более пристальный взгляд на методы и классы Глава 8. Наследование Глава 9. Пакеты и интерфейсы Глава 10. Обработка исключений Глава 11. Многопоточное программирование Глава 12. Перечисления, автоупаковка и аннотации (метаданные) Глава 13. Ввод-вывод, аплеты и другие темы Глава 14. Обобщения Часть II. Библиотека Java Глава 15. Обработка строк Глава 16. Пакет j a v a . la n g Глава 17. Пакет j av a . u t i l : инфраструктура Framework Глава 18. Пакет j ava . u t i l : прочие служебные классы Глава 19. Ввод-вывод: пакет j a v a . i o Глава 20. Исследование NIO Глава 21. Сеть Глава 22. Класс A p p let Глава 23. Обработка событий Глава 24. Введение в библиотеку AWT: работа с окнами, графикой и текстом
    745 Глава 25. Использование элементов управления,

    диспетчеров компоновки и меню библиотеки AWT Глава 26. Изображения Глава 27. Параллельные утилиты Глава 28. Регулярные выражения и другие пакеты Часть III. Разработка программного обеспечения с использованием Java Глава 29. Компоненты Java Bean Глава 30. Введение в библиотеку Swing Глава 31. Дополнительные сведения о библиотеке Swing Глава 32. Сервлеты Часть IV. Применение Java Глава 33. Финансовые аплеты и сервлеты Глава 34. Создание утилиты загрузки на языке Java Приложение. Использование комментариев документации Предметный указатель
    1093

    Содержание
    Об авторе О техническом редакторе Книга для всех программистов Введение Что внутри Коды примеров доступны в веб Особые благодарности Для дальнейшего изучения Соглашения, принятые в этой книге От издательства Часть I. Язык Java
    зз
    Глава 1. История и развитие языка Java Происхождение языка Java Зарождение современного программирования язык С Следующий шаг язык C++ Предпосылки создания языка Java Создание языка Java Связь с языком C# Как язык Java изменил Интернет
    41
    Аплеты Java Безопасность Переносимость Магия Java: код виртуальной машины
    42
    Сервлеты: серверные программы Java Терминология, связанная с Java Простота Объектная ориентированность Устойчивость М ногопоточность Архитектурная нейтральность
    46
    Интерпретируемость и высокая производительность Распределенный характер Динамический характер Эволюция языка Java
    47

    Java SE 7 Культура инновации Глава 2. Обзор языка Java О бъектно-ориентированное программирование Две концепции Абстракция Три принципа ООП Первый пример простой программы Ввод кода программы Компиляция программы Более подробное рассмотрение первого примера программы Второй пример короткой программы Два управляющих оператора Оператор i f Цикл f o r Использование блоков кода Вопросы лексики Отступ Идентификаторы Литералы Комментарии Разделители Ключевые слова Java Библиотеки классов Java Глава 3. Типы данных, переменные и массивы

    71
    Java — строго типизированный язык Элементарные типы Целочисленные значения Тип b y t e Тип s h o r t Тип i n t Тип lo n g Типы с плавающей точкой Тип f l o a t Тип d o u b le Символы Булевы значения Более подробное рассмотрение литералов Целочисленные литералы Литералы с плавающей точкой Булевы литералы Символьные литералы Строковые литералы Переменные Объявление переменной Динамическая инициализация Область видимости и продолжительность существования переменных Содержание
    7

    8
    Содержание
    Преобразование и приведение типов Автоматическое преобразование типов в Java Приведение несовместимых типов Автоматическое повышение типа в выражениях Правила повышения типа Массивы Одномерные массивы Многомерные массивы Альтернативный синтаксис объявления массивов Несколько слово строках Замечание по поводу указателей для программистов на C/C++ Глава 4. Операторы Арифметические операторы Основные арифметические операторы Оператор деления по модулю Составные арифметические операторы с присваиванием Инкремент и декремент Побитовые операторы Побитовые логические операторы Сдвиг влево Сдвиг вправо Сдвиг вправо без учета знака Операторы сравнения Логические операторы Сокращенные логические операторы Оператор присваивания Оператор ? Приоритет операторов Использование круглых скобок Глава 5. Управляющие операторы Операторы выбора Оператор i f Оператор s w i t c h Операторы цикла Цикл w h i l e Цикл d o - w h i le Цикл f o r Вложенные циклы Операторы перехода Использование оператора b r e a k Использование оператора c o n t i n u e Оператор r e t u r n Глава 6. Знакомство с классами Основы классов Общая форма класса Простой класс Объявление объектов
    149
    Содержание Подробное рассмотрение оператора new Присваивание переменных объектных ссылок Знакомство с методами Добавление метода к классу Box Возвращение значения Добавление метода, принимающего параметры Конструкторы Конструкторы с параметрами Ключевое слово t h i s Сокрытие переменной экземпляра Сбор мусора Метод f i n a l i z e () Класс S ta c k Глава 7. Более пристальный взгляд на методы и классы Перегрузка методов Перегрузка конструкторов Использование объектов в качестве параметров Более пристальный взгляд на передачу аргументов Возврат объектов Рекурсия Введение в управление доступом Что такое s t a t i c Знакомство с ключевым словом f i n a l Повторное рассмотрение массивов Представление вложенных и внутренних классов Описание класса S t r i n g Использование аргументов командной строки Список аргументов переменной длины Перегрузка методов с переменным количеством аргументов Переменное количество аргументов и неопределенность Глава 8. Наследование Основы наследования Доступ к членами наследование Более реальный пример Переменная суперкласса может ссылаться на объект подкласса Использование ключевого слова s u p e r Использование ключевого слова s u p e r для вызова конструкторов суперкласса Второе применение ключевого слова s u p e r Создание многоуровневой иерархии Порядок вызова конструкторов Переопределение методов Динамическая диспетчеризация методов Для чего нужны переопределенные методы Использование переопределения методов Использование абстрактных классов Использование ключевого слова f i n a l в сочетании с наследованием
    216

    1 0
    Содержание
    Использование ключевого слова final для предотвращения переопределения Использование ключевого слова f i n a l для предотвращения наследования Класс
    Object Глава 9. Пакеты и интерфейсы Пакеты Определение пакета Поиск пакетов и переменная среды
    CLASSPATH Краткий пример пакета Защита доступа Пример защиты доступа Импорт пакетов Интерфейсы Определение интерфейса Реализация интерфейсов Доступ к реализациям через ссылки на интерфейсы Вложенные интерфейсы Использование интерфейсов Переменные в интерфейсах Возможность расширения интерфейсов Глава 10. Обработка исключений Основы обработки исключений Типы исключений Необработанные исключения Использование блоков t r y и c a t c h Отображение описания исключения Множественные операторы c a t c h Вложенные операторы t гу Встроенные исключения Java Создание собственных подклассов исключений Сцепленные исключения Три новых средства исключений JDK 7 Использование исключений Глава 11. Многопоточное программирование Модель потоков Java Приоритеты потоков Синхронизация Обмен сообщениями Класс
    Thread и интерфейс
    Runnable Главный поток Создание потока Реализация интерфейса
    Runnable Расширение класса
    Thread Выбор подхода Создание множества потоков Использование методов is
    Alive
    () и join
    ()
    269
    Приоритеты потоков Синхронизация Использование синхронизированных методов Оператор s y n c h r o n i z e d
    275
    Межпотоковые коммуникации Взаимная блокировка Приостановка, возобновление и останов потоков Приостановка, возобновление и останов потоков в Java 1.1 и более ранних версиях Современный способ приостановки, возобновления и остановки потоков Получение состояния потока Использование многопоточности Глава 12. Перечисления, автоупаковка
    и аннотации (метаданные) Перечисления Основные понятия о перечислениях Методы values
    () и valueOf
    () Перечисления в Java являются типами классов Перечисления наследуются от класса
    Enum Еще один пример перечисления Оболочки типов Оболочки числовых типов
    298
    Автоупаковка
    300
    Автоупаковка и методы
    300
    Автоупаковка и распаковка в выражениях
    301
    Автоупаковка и распаковка значений классов
    Boolean и
    Character
    303
    Автоупаковка и распаковка помогают предотвратить ошибки Предостережения Аннотации (метаданные) Основы аннотирования Политика удержания аннотации Получение аннотаций вовремя выполнения с использованием рефлексии Второй пример применения рефлексии Получение всех аннотаций Интерфейс Использование значений по умолчанию
    311
    Аннотация-маркер Одночленные аннотации Встроенные аннотации Некоторые ограничения Глава 13. Ввод-вывод, аплеты и другие темы Основы ввода-вывода Потоки Байтовые и символьные потоки Классы байтовых потоков Содержание

    11

    1 2
    Содержание
    Классы символьных потоков Предопределенные потоки Чтение консольного ввода Чтение символов Чтение строк Запись консольного вывода Класс
    PrintWriter Чтение и запись файлов Автоматическое закрытие файла Основы организации аплетов Модификаторы и volatile Использование оператора instanceof
    337
    Машинно-зависимые методы Проблемы, связанные с машинно-зависимыми методами Использование ключевого слова a s s e r t Параметры включения и отключения утверждений Статический импорт Вызов перегруженных конструкторов через this
    () Глава 14. Обобщения Что такое обобщения Простой пример обобщения Обобщения работают только с объектами Отличие обобщенных типов в зависимости от аргументов типа Обобщения повышают безопасность типов Обобщенный класс с двумя параметрами типа Общая форма обобщенного класса Ограниченные типы Использование шаблонов аргументов Ограниченные шаблоны Создание обобщенного метода Обобщенные конструкторы Обобщенные интерфейсы Базовые типы и унаследованный код Иерархии обобщенных классов Использование обобщенного суперкласса Обобщенный подкласс Сравнение типов обобщенной иерархии вовремя выполнения Приведение Переопределение методов в обобщенном классе Выведение типов и обобщения Очистка
    384
    Методы-мосты Ошибки неоднозначности Некоторые ограничения обобщений Нельзя создавать экземпляр типа параметра Ограничения на статические члены Ограничения обобщенных массивов Ограничения обобщенных исключений
    390
    Часть II. Библиотека Java Глава 15. Обработка строк Конструкторы строк Длина строки Специальные строковые операции Строковые литералы Конкатенация строк Конкатенация строк с другими типами данных Преобразование строки метод toString
    () Извлечение символов Метод charAt
    () Метод getChars
    () Метод get
    Bytes
    () Метод toCharArray
    () Сравнение строк Методы equals
    () и equalsIgnoreCase
    () Метод regionMatches
    () Методы startsWith
    () и endsWith
    () Сравнение метода equals
    () и оператора == Метод сошрагеТо
    () Поиск строк Модификация строк Метод substring
    () Метод с one at
    () Метод replace
    () Метод t r i m () Преобразование данных с помощью метода valueOf
    () Изменение регистра символов в строке Дополнительные методы класса
    String Класс StringBuffег Конструкторы класса
    StringBuffer Методы length
    () и capacity
    () Метод ensureCapacity
    () Метод setLength
    () Методы charAt
    () и setCharAt
    () Метод getChars
    () Метод append
    () Метод insert
    () Метод reverse
    () Методы delete
    () и deleteCharAt
    () Метод replace
    () Метод substring
    () Дополнительные методы класса
    StringBuffer Класс
    StringBuilder Глава 16. Пакет
    j a v a . l a n g Оболочки элементарных типов Класс
    Number Классы
    Double и
    Float Содержание
    1 3

    1 4
    Содержание
    Методы islnf inite
    () и isNaN
    () Классы
    Byte, Short, Integer и
    Long Преобразование чисел в строки и обратно Класс
    Character Дополнения к классу
    Character для поддержки кодовых точек U nicode Класс
    Boolean Класс
    Void Класс
    Process Класс
    Runtime Управление памятью Выполнение других программ Класс
    ProcessBuilder Класс
    System Использование метода currentTimeMills (для измерения времени выполнения программы Использование метода а г га ус ору) Свойства окружения Класс
    Object Использование метода clone
    () и интерфейса Класс
    Class Класс
    ClassLoader Класс
    Math Тригонометрические функции Экспоненциальные функции Функции округления Прочие методы класса
    Math Класс
    StrictMath Класс
    Compiler Классы
    Thread, ThreadGroup и интерфейс
    Runnable Интерфейс
    Runnable Класс
    Thread Класс
    ThreadGroup Классы
    ThreadLocal и
    InheritableThreadLocal Класс
    Package Класс
    RuntimePermission Класс
    Throwable Класс
    SecurityManager Класс
    StackTraceElement Класс
    Enum Класс
    ClassValue Интерфейс Интерфейс Интерфейс
    Appendable Интерфейс Интерфейс Интерфейс Интерфейс Вложенные пакеты j ava.
    lang Пакет java.lang.annotation
    471
    Пакет j a v a . l a n g . i n s t r u m e n t Пакет j a v a . l a n g . in v o k e Пакет j a v a . l a n g . m anagem ent Пакет j a v a . l a n g . r e f Пакет j a v a . l a n g . r e f l e c t Глава 17. Пакет j a v a . u t i l : инфраструктура ollections Framework Обзор коллекций Комплект JDK 5 изменил инфраструктуру Collections Framework Обобщенные определения фундаментально изменили инфраструктуру коллекций Средства автоматической упаковки используют элементарные типы
    476 Стиль цикла “for-each” Интерфейсы коллекций Интерфейс
    Collection Интерфейс
    List Интерфейс Интерфейс Интерфейс Интерфейс
    Queue Интерфейс
    Dequeue Классы коллекций Класс
    ArrayList Класс
    LinkedList Класс
    HashSet Класс
    LinkedHashSet Класс
    TreeSet Класс
    PriorityQueue Класс
    ArrayDeque Класс
    EnumSet Доступ к коллекциям через итератор Использование интерфейса Версия “for-each” цикла for как альтернатива итераторам Использование пользовательских классов в коллекциях Интерфейс
    RandomAc cess Работа с картами Интерфейсы карт Классы карт Компараторы Использование компараторов Алгоритмы коллекций Класс
    Arrays Зачем нужны обобщенные коллекции Унаследованные классы и интерфейсы Интерфейс
    Enumeration Класс
    Vector Класс
    Stack Класс
    Dictionary Содержание
    1 5

    1 6
    Содержание
    Класс
    Hashtable Класс
    Properties Использование методов store
    () и load
    () Заключительные соображения по поводу коллекций Глава 18. Пакет j ava . u t i l : прочие служебные классы Класс
    StringTokenizer Класс Класс
    Date Класс
    Calendar Класс
    GregorianCalendar Класс
    TimeZone Класс
    SimpleTimeZone Класс
    Locale Класс
    Random Класс
    Observable Интерфейс
    Observer Пример использования интерфейса Классы
    Timer и
    TimerTask Класс
    Currency Класс
    Formatter Конструкторы класса
    Formatter Методы класса
    F о г та
    11 е г Основы форматирования Форматирование строки символов Форматирование чисел Форматирование времени и даты Спецификаторы пи Указание минимальной ширины поля Указание точности Использование флагов формата Выравнивание вывода Флаги пробела, + , 0 и ( Флаг запятая Флаг # Параметры верхнего регистра Использование индекса аргументов Закрытие объекта класса
    Formatter Подключение функции Java print f
    () Класс
    Scanner Конструкторы класса
    Scanner Основы сканирования Некоторые примеры применения класса
    Scanner Установка разделителей Прочие возможности класса
    Scanner Классы
    ResourceBundle, ListResourceBundle и
    PropertyResourceBundle Прочие служебные классы и интерфейсы Вложенные пакеты j ava .util
    593
    Содержание
    1 Пакеты java.util.concurrent,java.util.concurrent.atomic, java.util.concurrent.locks Пакет java.
    ut i
    1
    j ar Пакет java.util.logging Пакет java.util.prefs Пакет java.util.regex Пакет java .util.
    spi
    594
    naKeTjava.util.zip Глава 19. Ввод-вывод: пакет j a v a . i o Классы и интерфейсы ввода-вывода Java Класс
    File Каталоги Использование интерфейса Альтернатива — метод listFilesO Создание каталогов Интерфейсы и
    Flushable Исключения ввода-вывода Два способа закрытия потока Классы потоков Байтовые потоки Класс
    Input
    St ream Класс
    Output
    Stream Класс
    FilelnputStream Класс
    FileOutputStream Класс
    ByteArraylnputStream Класс
    ByteArrayOutputStream Фильтруемые потоки байтов
    613
    Буферизуемые потоки байтов ' Символьные потоки Класс
    Reader Класс
    Writer Класс
    FileReader Класс
    Fi
    1
    eWriter Класс
    CharArrayReader Класс
    CharArrayWriter Класс
    BufferedReader Класс
    BufferedWriter Класс
    PushbackReader Класс
    PrintWriter Класс
    Console
    631
    Сериализация Интерфейс
    Serializable Интерфейс Интерфейс Класс
    Obj ectOutputStream Интерфейс Класс
    Obj ectInputStream Пример сериализации Преимущества потоков
    639

    1 8
    Содержание
      1   2   3   4   5   6   7   8   9   ...   90


    написать администратору сайта