КнигоПровод.Ru25.04.2024

/ИТ-книги/O'REILLY

Java. Сборник рецептов для профессионалов — Дарвин Я. Ф.
Java. Сборник рецептов для профессионалов
Решения и примеры для разработчиков на Java
Дарвин Я. Ф.
год издания — 2002, кол-во страниц — 768, ISBN — 5-318-00748-1, тираж — 4000, язык — русский, тип обложки — твёрд. 7БЦ мат., масса книги — 1100 гр., издательство — Питер
КНИГА СНЯТА С ПРОДАЖИ
Java Cookbook
Ian F. Darwin

O'REILLY 2001

Формат: 70x100/16
ключевые слова — java, servlet, jsp, swing, сервлет, ejb, javabean, awt, апплет, дейтаграмм, jdbc, xslt, rmi, jar

Книга «Java. Сборник рецептов» состоит из сотен решений тех проблем, с которыми часто встречаются программисты Java. Разделы могут содержать решения простых задач, таких как выяснение значения переменной CLASSPATH и чтение информации среды окружения, а могут и представлять собой целые программы — например, демонстрацию того, как работать с языком XML или встраивать электронную почту в ваши программы.

Вне зависимости от того, как вы будете использовать эту книгу — непосредственно заимствовать примеры, находить идеи или изучать приёмы программирования, она станет для вас полезным приобретением. Никакая другая книга не продемонстрирует вам возможности Java с такой же лёгкостью, как эта.

Среди обсуждаемых тем:

  • Компилирование, выполнение и отладка программ на языке Java;
  • Взаимодействие со средой;
  • Строки и регулярные выражения;
  • Массивы и другие наборы данных;
  • Программирование последовательных и параллельных портов;
  • Операции с каталогами и файловой системой Разработка сетевых клиентов и серверов;
  • Web-программирование, включая апплеты;
  • Сервлеты и JSP;
  • Электронная почта;
  • Доступ к базам данных;
  • Применение XML;
  • Распределенные приложения;
  • Самоанализ;
  • Интернационализация;
  • Графика и звук;
  • Графический интерфейс пользователя.

Книга «Java. Сборник рецептов» необходима разработчикам программ на языке Java, поскольку в ней значительно подробнее, чем в других книгах, описываются интерфейсы прикладного программирования. Она является замечательным пособием для тех, кто хочет углубить своё знание языка Java.

ОГЛАВЛЕНИЕ

Предисловие15
 
Для кого эта книга16
Что в этой книге?16
Замечания относительно платформ19
Соглашения, использованные в этой книге20
Получение исходного кода21
 
От издательства22
 
Глава 1. Начало: компиляция, выполнение, отладкагз
 
1.0. Вступление23
1.1. Компиляция и выполнение программ на языке Java: JDK23
1.2. Редактирование и компиляция в редакторах с цветовым выделением синтаксиса28
1.3. Компиляция, выполнение и тестирование в интегрированной среде разработки29
1.4. Использование классов из примеров этой книги33
1.5. Автоматическая компиляция при помощи сценария jr34
1.6. Автоматизация компиляции при помощи make-файла35
1.7. Автоматизация компиляции при помощи программы Ant36
1.8. Выполнение апплетов39
1.9. Действия при выдаче предупреждений41
1.10. Условная отладка без #ifdef42
1.11. Вывод отладочной информации44
1.12. Работа с отладчиком45
1.13. Модульное тестирование47
1.14. Декомпиляция класс-файлов Java49
1.15. Предотвращение декомпиляции Java-файлов51
1.16. Получение годных для чтения трассировок52
1.17. Поиск исходных текстов на языке Java54
1.18. Программа Debug55
 
Глава 2. Взаимодействие со средой57
 
2.0. Вступление57
2.1. Получение переменных окружения57
2.2. Свойства системы58
2.3. Разработка кода, зависящего от версий JDK60
2.4. Создание кода, зависящего от операционной системы61
2.5. Эффективное использование переменной окружения CLASSPATH64
2.6. Использование расширений или других API66
2.7. Анализ параметров командной строки67
 
Глава 3. Строки7i
 
3.0. Вступление71
3.1. Разбивка строк на подстроки73
3.2. Разбор строк при помощи StringTokenizer74
3.3. Конкатенация строк77
3.4. Посимвольная обработка строки78
3.5. Выравнивание строк79
3.6. Преобразование между строками и символами Unicode81
3.7. Инверсия строк по словам или символам83
3.8. Расширение и сжатие табуляций84
3.9. Преобразования регистра символов88
3.10. Отступы и выступы в текстовых документах89
3.11. Ввод непечатаемых символов90
3.12. Удаление пробелов в конце строки91
3.13. Лексический разбор данных, разделённых запятыми92
3.14. Программа: обычный текстовый форматтер97
3.15. Приблизительный поиск имён99
 
Глава 4. Поиск с применением регулярных выражений102
 
4.0. Вступление102
4.1. Синтаксис регулярного выражения104
4.2. Как работают регулярные выражения107
4.3. Регулярные выражения в Java108
4.4. Интерактивное тестирование регулярных выражений110
4.5. Получение совпавшего текста111
4.6. Замена по шаблону112
4.7. Печать всех экземпляров шаблона113
4.8. Вывод строк, содержащих совпадения114
4.9. Управление регистром символов при вызовах match() и subst()116
4.10. Предварительная компиляция регулярных выражений117
4.11. Поиск символов конца строки118
4.12. Программа извлечения данных119
4.13. Полная версия программы Grep121
 
Глава 5. Числа125
 
5.0. Вступление125
5.1. Проверка строковых представлений чисел127
5.2. Хранение больших чисел в переменной меньшего типа128
5.3. Умножение целого на дробь без вычислений с плавающей точкой129
5.4. Точность чисел с плавающей точкой130
5.5. Сравнение чисел с плавающей точкой132
5.6. Округление чисел с плавающей точкой134
5.7. Форматирование чисел134
5.8. Преобразования двоичных, восьмеричных, десятичных
и шестнадцатеричных чисел137
5.9. Последовательности целых чисел138
5.10. Римские цифры139
5.11. Форматирование в соответствии с множественным числом
имён существительных143
5.12. Генерирование случайных чисел144
5.13. Генерирование случайных чисел (лучший способ)145
5.14. Вычисление тригонометрических функций146
5.15. Вычисление логарифмов146
5.16. Умножение матриц147
5.17. Комплексные числа149
5.18. Очень большие числа151
5.19. Программа TempConverter152
5.20. Программа создания чисел-палиндромов156
 
Глава 6. Даты и время159
 
6.0. Вступление159
6.1. Поиск текущей даты160
6.2. Вывод даты и времени в определённом формате161
6.3. Представление дат в других календарях163
6.4. Преобразование YMDHMS в Calendar или Date164
6.5. Разбор строк на даты165
6.6. Преобразование секунд эпохи в DMYHMS166
6.7. Сложение или вычитание из даты или календаря167
6.8. Разность между двумя датами168
6.9. Сравнение дат169
6.10. Порядковый номер дня недели, месяца, года или недели171
6.11. Страница календаря172
6.12. Таймеры высокого разрешения174
6.13. Пауза176
6.14. Программа ReminderService176
 
Глава 7. Структуры данных в Java179
 
7.0. Вступление179
7.1. Хранение данных в массивах180
7.2. Изменение размеров массива181
7.3. Динамический массив183
7.4. Универсальный механизм доступа к данным с использованием итераторов185
7.5. Хранение данных в связанном списке186
7.6. Хранение ассоциативных данных в классах Hashtable и HashMap188
7.7. Сохранение строк в классах Properties и Preferences189
7.8. Сортировка коллекции192
7.9. Сортировка в Java 1.1195
7.10. Автоматическая сортировка196
7.11. Множества198
7.12. Поиск объекта в коллекции199
7.13. Преобразование коллекции в массив201
7.14. Самостоятельная реализация итераторов202
7.15. Стек203
7.16. Многомерные структуры данных205
7.17. Коллекции207
7.18. Пример: хронометраж208
 
Глава 8. Объектно-ориентированное программирование211
 
8.0. Вступление211
8.1. Печать объектов: форматирование с помощью метода toString()213
8.2. Переопределение метода Equals214
8.3. Переопределение метода Hashcode217
8.4. Метод Clone218
8.5. Метод Finalize220
8.6. Вложенные классы221
8.7. Обратные вызовы через интерфейсы222
8.8. Полиморфизм и абстрактные методы226
8.9. Передача значений227
8.10. Создание собственных исключений230
8.11. Программа Plotter231
 
Глава 9. Ввод/вывод234
 
9.0. Вступление234
9.1. Чтение стандартного ввода238
9.2. Программирование стандартного вывода240
9.3. Открытие файла по имени241
9.4. Копирование файла242
9.5. Чтение файла в строку245
9.6. Переназначение стандартных потоков246
9.7. Дублирование потока при записи247
9.8. Чтение и запись в разных кодировках249
9.9. Символы новой строки250
9.10. Зависящий от платформы код файла251
9.11. Чтение продолженных строк252
9.12. Сканирование файла256
9.13. Двоичные данные260
9.14. Поиск261
9.15. Запись потоков данных из языка С262
9.16. Сохранение и восстановление сериализованных объектов263
9.17. Борьба с исключениями ClassCastExceptions с помощью SerialVersionUID265
9.18. Чтение и запись архивов JAR или ZIP267
9.19. Чтение и запись сжатых файлов270
9.20. Программа: вывод текста на устройствах PostScript271
9.21. Программа: TarList (конвертер файлов)274
 
Глава 10. Операции с каталогами и файловой системой286
 
10.0. Вступление286
10.1. Получение информации о файле286
10.2. Создание файла289
10.3. Переименование файла290
10.4. Удаление файла291
10.5. Создание временного файла293
10.6. Изменение атрибутов файла294
10.7. Создание списка содержимого каталога295
10.8. Получение списка корневых каталогов298
10.9. Создание новых каталогов299
10.10. Программа Find299
 
Глава 11. Программирование последовательных
и параллельных портов303
 
11.0. Вступление303
11.1. Выбор порта305
11.2. Открытие последовательного порта308
11.3. Открытие параллельного порта312
11.4. Разрешение конфликтов портов315
11.5. Чтение и запись: Lock Step318
11.6. Чтение и запись: управление на основе событий321
11.7. Чтение и запись: нити325
11.8. Программа: Penman Plotter327
 
Глава 12. Графика и звук332
 
12.0. Вступление332
12.1. Рисование с помощью объекта Graphics333
12.2. Тестирование графических компонентов334
12.3. Вывод текста335
12.4. Вывод центрированного текста в компоненте335
12.5. Вывод текста с эффектом тени337
12.6. Вывод рисунка339
12.7. Проигрывание звукового файла344
12.8. Вывод видео345
12.9. Вывод текста с помощью объекта Graphics2D348
12.10. Печать в JDK 1.1350
12.11. Печать в Java 2353
12.12. Программа PlotterAWT355
12.13. Программа Grapher357
 
Глава 13. Графический интерфейс пользователя362
 
13.0. Вступление362
13.1. Вывод компонентов графического интерфейса пользователя363
13.2. Проектирование разметки окна365
13.3. Использование вкладок367
13.4. Обработка событий: заставляем кнопки работать368
13.5. Обработка событий с использованием анонимных внутренних классов371
13.6. Прерывание программы при закрытии окна372
13.7. Диалоговые окна376
13.8. Показ вывода программы в окне378
13.9. Выбор файла с помощью класса JFileChooser382
13.10. Выбор цвета384
13.11. Центрирование главного окна387
13.12. Изменение вида и поведения программы с использованием пакета Swing388
13.13. Программа выбора цветов392
13.14. Программа: собственный менеджер разметки396
 
Глава 14. Интернационализация и локализация403
 
14.0. Вступление403
14.1. Создание кнопок с помощью ресурсов интернационализации403
14.2. Вывод списка доступных локальных контекстов405
14.3. Создание меню с помощью ресурсов интернационализации406
14.4. Создание процедур интернационализации407
14.5. Создание диалоговых окон с помощью ресурсов интернационализации409
14.6. Создание пакета ресурсов410
14.7. Обработка кода с помощью JILT411
14.8. Использование конкретного локального контекста настроек412
14.9. Установка локального контекста по умолчанию413
14.10. Форматирование сообщений414
14.11. Программа Menulntl416
14.12. Программа BusCard418
 
Глава 15. Сетевые клиенты422
 
15.0. Вступление422
15.1. Связь с сервером424
15.2. Поиск сетевых адресов425
15.3. Обработка сетевых ошибок427
15.4. Чтение и запись текстовых данных427
15.5. Чтение и запись двоичных данных430
15.6. Чтение и запись данных, преобразованных в последовательную форму432
15.7. Дейтаграммы UDP433
15.8. Программа: клиент TFTP UDP436
15.9. Программа: клиент Telnet440
15.10. Программа: клиент для интерактивного обмена сообщениями442
 
Глава 16. Java на стороне сервера: сокеты448
 
16.0. Вступление448
16.1. Открытие сервера для бизнеса448
16.2. Возвращение отклика (строкового или двоичного)451
16.3. Возвращение информации об объекте455
16.4. Поддержка многих клиентов455
16.5. Регистрация событий по сети460
16.6. Программа: сервер для интерактивного обмена сообщениями465
 
Глава 17. Сетевые клиенты II: апплеты и web-клиенты470
 
17.0. Вступление470
17.1. Внедрение технологии Java в web-страницы470
17.2. Программирование апплетов472
17.3. Связывание сервера с хостом апплета475
17.4. Как заставить апплет показывать документ477
17.5. Как заставить апплет запускать сценарий CGI479
17.6. Чтение содержимого URL480
17.7. Извлечение кода HTML из URL481
17.8. Извлечение URL из файла483
17.9. Преобразование имени файла в URL485
17.10. Программа Mklndex486
17.11. Программа LinkChecker490
 
Глава 18. Java на web-сервере: сервлеты и JSP498
 
18.0. Вступление498
18.1. Первый сервлет: построение страницы HTML499
18.2. Сервлеты: обработка параметров формы502
18.3. Элементы Cookie505
18.4. Отслеживание сеансов508
18.5. Генерирование документа в формате PDF из сервлета514
18.6. Интеграция HTML с Java: JSP519
18.7. Директивы JSP Include и Forward524
18.8. Использование сервлетов в JSP525
18.9. Упрощение вашего кода JSP с помощью компонента JavaBean526
18.10. Сводка синтаксиса JSP530
18.11. Программа CookieCutter530
18.12. Программа: web-портал новостей JabaDot531
 
Глава 19. Язык Java и электронная почта542
 
19.0. Вступление542
19.1. Отправка электронной почты: версия для браузера543
19.2. Отправка электронной почты: для реального использования547
19.3. Работа с почтой в серверной программе549
19.4. Посылка почты в кодировке MIME555
19.5. Установка почтовых настроек557
19.6. Отправка почты без использования JavaMail559
19.7. Чтение электронной почты563
19.8. Программа MailReaderBean567
19.9. Программа MailClient571
 
Глава 20. Доступ к базам данных582
 
20.0. Вступление582
20.1. Текстовые файлы в роли баз данных583
20.2. Базы данных DBM588
20.3. Установка JDBC и соединение591
20.4. Подключение к базе данных JDBC594
20.5. Отправка запроса JDBC и получение результатов596
20.6. Использование параметризованных выражений JDBC599
20.7. Использование хранимых процедур с JDBC603
20.8. Изменение данных с помощью объекта ResultSet604
20.9. Изменение данных с помощью SQL605
20.10. Поиск метаданных JDBC607
20.11. Программа JDAdmin613
 
Глава 21. XML620
 
21.0. Вступление620
21.1. Преобразование документа XML с помощью XSLT623
21.2. Синтаксический разбор документа XML с помощью SAX625
21.3. Синтаксический разбор документа XML с помощью DOM627
21.4. Проверка структуры с помощью DTD629
21.5. Построение документов XML с помощью DOM630
21.6. Программа xml2mif632
 
Глава 22. Распределённые приложения Java: RMI635
 
22.0. Вступление635
22.1. Определение контракта RMI636
22.2. Клиент RMI638
22.3. Сервер RMI639
22.4. Использование RMI по сети641
22.5. Программа: обратные вызовы RMI642
22.6. Программа RMIWatch646
 
Глава 23. Пакеты и упаковка653
 
23.0. Вступление653
23.1. Создание пакета654
23.2. Документирование классов с помощью Javadoc655
23.3. Архивирование с помощью программы JAR658
23.4. Запуск апплета из архива JAR659
23.5. Запуск апплета с использованием JDK660
23.6. Запуск программы из архива JAR663
23.7. Подготовка класса как компонента JavaBean664
23.8. Упаковка компонента в архив JAR667
23.9. Упаковка сервлета в файл WAR668
23.10. «Написанное однажды устанавливается везде»669
23.11. Java WebStart670
23.12. Добавление подписи к файлу JAR675
 
Глава 24. Нити в языке Java677
 
24.0. Вступление677
24.1. Выполнение кода в другой нити678
24.2. Вывод движущегося изображения с анимацией682
24.3. Остановка работы нити685
24.4. Встречи и тайм-ауты687
24.5. Взаимодействие нитей: синхронизированный код689
24.6. Взаимодействие нитей: методы wait() и notifyAII()695
24.7. Фоновое сохранение в редакторе700
24.8. Сетевой сервер с использованием нитей701
 
Глава 25. Самоанализ или «класс под названием Class»710
 
25.0. Вступление710
25.1. Получение дескриптора файла711
25.2. Поиск и использование методов и полей712
25.3. Динамическая загрузка и создание экземпляра класса715
25.4. Создание класса с нуля718
25.5. Хронометраж719
25.6. Вывод информации о классе722
25.7. Программа CrossRef724
25.8. Программа AppletViewer729
 
Глава 26. Использование языка Java с другими языками736
 
26.0. Вступление736
26.1. Запуск программы736
26.2. Запуск программы и перехват её вывода739
26.3. Объединение кода Java и сценариев с помощью BSF743
26.4. Вызов родного кода C/C++747
26.5. Вызов кода Java из кода C/C++753
26.6. Программа DBM753
 
Послесловие757
 
Алфавитный указатель759

Книги на ту же тему

  1. Spring 4 для профессионалов. — 4-е изд., Шефер К., Хо К., Харроп Р., 2015
  2. Java сервлеты и JSP: сборник рецептов, Перри Б. У., 2005
  3. XML и Java 2 (+CD), Даконта М., Саганич А., 2001
  4. Электронный магазин на Java и XML (+CD-ROM), Брогден Б., Минник К., 2002
  5. Разработка программных проектов: на основе Rational Unified Process (RUP), Полис Г., Огастин Л., Лоу К., Мадхар Д., 2009
  6. Средства визуального проектирования на Java, Чекмарев А., 1998
  7. UNIX. Профессиональное программирование. — 2-е изд., Стивенс Р., Раго С., 2007

© 1913—2013 КнигоПровод.Ruhttp://knigoprovod.ru