Java. Методики программирования Шилдта

Герберт Шилдт

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

Книга рассчитана на программистов разной квалификации, а также будет полезна студентам и преподавателям дисциплин, связанных с программированием на языке Java.

Издательство: Вильямс, 2008 г.

ISBN 978-5-8459-1395-1, 978-0-07-226315-2

Количество страниц: 512.

Содержание книги «Java. Методики программирования Шилдта»:

  • 18 Об авторе
  • 19 Предисловие
    • 19 Коды примеров
    • 19 Другие книги автора
    • 20 От издательства
  • 21 Глава 1. Обзор
    • 21 Что внутри
    • 23 Как организованы рецепты
    • 23 Несколько предостережений
    • 24 Необходимый опыт работы с Java
    • 24 Версия Java
  • 25 Глава 2. Работа со строками и регулярными выражениями
    • 26 Обзор строковых классов Java
    • 28 API регулярных выражений Java
    • 28 Введение в регулярные выражения
      • 29 Нормальные символы
      • 29 Классы символов
      • 30 Шаблонные символы
      • 30 Квантификаторы
      • 31 Жадные, вынужденные и собственнические квантификаторы
      • 31 Граничные маркеры
      • 32 Операция «ИЛИ»
      • 32 Группы
      • 33 Флаговые последовательности
      • 34 Не забывайте о защите \ в строках Java
    • 34 Сортировка массива строк в обратном порядке
      • 35 Необходимые шаги
      • 35 Обсуждение
      • 36 Пример
      • 37 Варианты и альтернативы
    • 37 Игнорирование различий регистра при сортировке массива строк
      • 38 Необходимые шаги
      • 38 Обсуждение
      • 39 Пример
      • 40 Варианты и альтернативы
    • 41 Игнорирование различий регистра при поиске и замене подстрок
      • 41 Необходимые шаги
      • 42 Обсуждение
      • 42 Пример
      • 43 Варианты и альтернативы
    • 44 Разбиение строки на части с помощью split()
      • 44 Необходимые шаги
      • 7 Обсуждение 45 Содержание
      • 45 Пример
      • 46 Варианты и альтернативы
    • 47 Извлечение из String пар «ключ/значение»
      • 47 Необходимые шаги
      • 48 Обсуждение
      • 48 Пример
      • 50 Варианты и альтернативы
    • 50 Нахождение соответствия и извлечение подстрок с использованием API регулярных выражений
      • 51 Необходимые шаги
      • 51 Обсуждение
      • 52 Пример
      • 52 Опции и атрибуты
    • 53 Разбиение строк на лексемы с использованием API регулярных выражений
      • 54 Необходимые шаги
      • 55 Обсуждение
      • 56 Пример
      • 58 Дополнительный пример
      • 65 Варианты и альтернативы
  • 67 Глава 3. Работа с файлами
    • 68 Обзор работы с файлами
      • 69 Потоки
      • 73 Класс RandomAccessFile
      • 73 Класс File
      • 73 Интерфейсы ввода-вывода
      • 74 Сжатые файловые потоки
    • 75 Советы по обработке ошибок
    • 76 Чтение байтов из файла
      • 76 Необходимые шаги
      • 77 Обсуждение
      • 77 Пример
      • 78 Варианты и альтернативы
    • 79 Запись байтов в файл
      • 80 Необходимые шаги
      • 80 Обсуждение
      • 80 Пример
      • 81 Варианты и альтернативы
    • 82 Буферизованный байтовый ввод-вывод файлов
      • 83 Необходимые шаги
      • 83 Обсуждение
      • 83 Пример
      • 85 Варианты и альтернативы
    • 85 Чтение символов из файла
      • 86 Необходимые шаги
      • 86 Обсуждение
      • 86 Пример
      • 87 Варианты и альтернативы
    • 88 Запись символов в файл
      • 89 Необходимые шаги
      • 89 Обсуждение
      • 89 Пример
      • 90 Варианты и альтернативы
    • 91 Буферизованный символьный ввод-вывод файлов
      • 92 Необходимые шаги
      • 92 Обсуждение
      • 93 Пример
      • 94 Варианты и альтернативы
    • 95 Чтение и запись файлов произвольного доступа
      • 96 Необходимые шаги
      • 96 Обсуждение
      • 97 Пример
      • 98 Варианты и альтернативы
    • 98 Получение атрибутов файла
      • 99 Необходимые шаги
      • 99 Обсуждение
      • 99 Пример
      • 101 Варианты и альтернативы
    • 101 Установка атрибутов файла
      • 101 Необходимые шаги
      • 101 Обсуждение
      • 102 Пример
      • 103 Варианты и альтернативы
    • 104 Список каталога
      • 104 Необходимые шаги
      • 105 Обсуждение
      • 106 Пример
      • 107 Пример-бонус
      • 108 Варианты и альтернативы
    • 109 Сжатие и распаковка данных
      • 109 Необходимые шаги
      • 110 Обсуждение
      • 111 Пример
      • 113 Варианты и альтернативы
    • 113 Создание ZIP-файла
      • 114 Необходимые шаги
      • 114 Обсуждение
      • 115 Пример
      • 117 Варианты и альтернативы
    • 118 Распаковка ZIP-файла
      • 118 Необходимые шаги
      • 119 Обсуждение
      • 120 Пример
      • 122 Варианты и альтернативы
    • 122 Сериализация объектов
      • 123 Необходимые шаги
      • 123 Обсуждение
      • 124 Пример
      • 126 Варианты и альтернативы
  • 127 Глава 4. Форматирование данных
    • 128 Обзор класса Formatter
      • 129 Основы форматирования
      • 131 Спецификация минимальной ширины поля
      • 131 Спецификация точности
      • 132 Использование флагов формата
      • 132 Опция верхнего регистра
      • 133 Использования индекса аргумента
    • 133 Обзор NumberFormat и DateFormat
    • 134 Четыре простых приема форматирования чисел с использованием Formatter
      • 134 Необходимые шаги
      • 134 Обсуждение
      • 135 Пример
      • 136 Варианты и альтернативы
    • 136 Вертикальное выравнивание числовых данных с использованием Formatter
      • 136 Необходимые шаги
      • 137 Обсуждение
      • 137 Пример
      • 138 Пример-бонус
      • 140 Варианты и альтернативы
    • 141 Выравнивание данных влево с использованием Formatter
      • 141 Необходимые шаги
      • 141 Обсуждение
      • 141 Пример
      • 142 Варианты и альтернативы
    • 143 Форматирование времени и даты с использованием Formatter
      • 143 Необходимые шаги
      • 143 Обсуждение
      • 145 Пример
      • 146 Варианты и альтернативы
    • 147 Указание локали с использованием Formatter
      • 147 Необходимые шаги
      • 147 Обсуждение
      • 148 Пример
      • 149 Варианты и альтернативы
    • 149 Использование потоков с Formatter
      • 149 Необходимые шаги
      • 149 Обсуждение
      • 150 Пример
      • 151 Варианты и альтернативы
    • 151 Использование printf() для отображения форматированных данных
      • 152 Необходимые шаги
      • 152 Обсуждение
      • 152 Пример
      • 153 Пример-бонус
      • 154 Варианты и альтернативы
    • 155 Форматирование времени и даты с помощью DateFormat
      • 155 Необходимые шаги
      • 156 Обсуждение
      • 156 Пример
      • 157 Варианты и альтернативы
    • 158 Форматирование времени и даты с помощью шаблонов, используя SimpleDateFormat
      • 158 Необходимые шаги
      • 158 Обсуждение
      • 160 Пример
      • 160 Варианты и альтернативы
    • 161 Форматирование числовых значений с помощью NumberFormat
      • 161 Необходимые шаги
      • 162 Обсуждение
      • 162 Пример
      • 163 Варианты и альтернативы
    • 164 Форматирование денежных значений с помощью NumberFormat
      • 164 Необходимые шаги
      • 164 Обсуждение
      • 164 Пример
      • 165 Варианты и альтернативы
    • 165 Форматирование числовых значений с помощью шаблонов, используя DecimalFormat
      • 165 Необходимые шаги
      • 165 Обсуждение
      • 166 Пример
      • 167 Варианты и альтернативы
  • 169 Глава 5. Работа с коллекциями
    • 170 Обзор коллекций
      • 171 Три последних изменения
      • 172 Интерфейсы коллекций
      • 181 Классы коллекций
      • 181 Класс ArrayList
      • 182 Класс LinkedList
      • 183 Класс HashSet
      • 183 Класс LinkedHashSet
      • 184 Класс TreeSet
      • 184 Класс PriorityQueue
      • 185 Класс ArrayDeque
      • 186 Класс EnumSet
    • 186 Обзор карт
      • 186 Интерфейсы карт
      • 191 Классы карт
    • 193 Алгоритмы
    • 193 Базовые приемы работы с коллекциями
      • 194 Необходимые шаги
      • 194 Обсуждение
      • 195 Пример
      • 197 Варианты и альтернативы
    • 198 Работа со списками
      • 198 Необходимые шаги
      • 198 Обсуждение
      • 199 Пример
      • 201 Варианты и альтернативы
    • 201 Работа с наборами
      • 202 Необходимые шаги
      • 202 Обсуждение
      • 203 Пример
      • 204 Пример-бонус
      • 207 Варианты и альтернативы
    • 207 Использование Comparable для хранения объектов в сортированной коллекции
      • 207 Необходимые шаги
      • 208 Обсуждение
      • 208 Пример
      • 209 Варианты и альтернативы
    • 210 Использование Comparator с коллекцией
      • 210 Необходимые шаги
      • 210 Обсуждение
      • 212 Пример
      • 213 Варианты и альтернативы
    • 214 Итерация по коллекции
      • 214 Необходимые шаги
      • 215 Обсуждение
      • 216 Пример
      • 217 Варианты и альтернативы
    • 218 Создание очереди или стека посредством Deque
      • 218 Необходимые шаги
      • 219 Обсуждение
      • 220 Пример
      • 221 Варианты и альтернативы
    • 222 Реверсирование, циклический сдвиг и перемешивание List
      • 222 Необходимые шаги
      • 223 Обсуждение
      • 223 Пример
      • 224 Варианты и альтернативы
    • 224 Сортировка и поиск в List
      • 225 Необходимые шаги
      • 225 Обсуждение
      • 226 Пример
      • 226 Варианты и альтернативы
    • 227 Создание проверяемой коллекции
      • 227 Необходимые шаги
      • 228 Обсуждение
      • 228 Пример
      • 230 Варианты и альтернативы
    • 231 Создание синхронизированной коллекции
      • 231 Необходимые шаги
      • 231 Обсуждение
      • 232 Пример
      • 234 Варианты и альтернативы
    • 234 Создание неизменяемой коллекции
      • 234 Необходимые шаги
      • 235 Обсуждение
      • 235 Пример
      • 235 Варианты и альтернативы
    • 236 Базовые приемы работы с Map
      • 237 Необходимые шаги
      • 237 Обсуждение
      • 238 Пример
      • 240 Варианты и альтернативы
    • 241 Преобразование списка Properties в HashMap
      • 241 Необходимые шаги
      • 241 Обсуждение
      • 242 Пример
      • 243 Варианты и альтернативы
  • 245 Глава 6. Аплеты и сервлеты
    • 246 Обзор аплетов
      • 246 Класс Applet
      • 249 Архитектура аплета
      • 249 Жизненный цикл аплета
      • 250 Интерфейсы AppletContext, AudioClip и AppletStub
    • 250 Обзор сервлетов
      • 251 Пакет javax.servlet
      • 254 Пакет javax.servlet.http
      • 255 Интерфейс HttpServletResponse
      • 256 Класс HttpServlet
      • 256 Класс Cookie
      • 258 Жизненный цикл сервлета
      • 258 Использование Tomcat для разработки сервлетов
    • 260 Создание скелета аплета на основе AWT
      • 260 Необходимые шаги
      • 260 Обсуждение
      • 260 Пример
      • 261 Варианты и альтернативы
    • 262 Создание скелета аплета на основе Swing
      • 262 Необходимые шаги
      • 262 Обсуждение
      • 263 Пример
      • 264 Варианты и альтернативы
    • 265 Создание графического интерфейса пользователя и обработка событий в аплете на основе Swing
      • 266 Необходимые шаги
      • 266 Обсуждение
      • 268 Историческая справка: метод getContentPane()
      • 268 Пример
      • 270 Пример-бонус
      • 272 Варианты и альтернативы
    • 273 Рисование непосредственно на поверхности аплета
      • 274 Необходимые шаги
      • 274 Обсуждение
      • 276 Пример
      • 278 Варианты и альтернативы
    • 279 Передача параметров аплету
      • 279 Необходимые шаги
      • 279 Обсуждение
      • 280 Пример
      • 281 Варианты и альтернативы
    • 281 Использование интерфейса AppletContext для отображения Web-страницы
      • 282 Необходимые шаги
      • 282 Обсуждение
      • 282 Пример
      • 285 Варианты и альтернативы
    • 285 Создание простого сервлета с помощью класса GenericServlet
      • 285 Необходимые шаги
      • 286 Обсуждение
      • 286 Пример
      • 287 Варианты и альтернативы
    • 288 Обработка HTTP-запросов в сервлете
      • 288 Необходимые шаги
      • 288 Обсуждение
      • 289 Пример
      • 290 Пример-бонус
      • 292 Варианты и альтернативы
    • 292 Использование cookie-наборов в сервлете
      • 293 Необходимые шаги
      • 293 Обсуждение
      • 293 Пример
      • 295 Варианты и альтернативы
  • 297 Глава 7. Многопоточность
    • 298 Основы многопоточности
      • 300 Интерфейс Runnable
      • 300 Класс Thread
    • 302 Создание потока посредством реализации интерфейса Runnable
      • 302 Необходимые шаги
      • 303 Обсуждение
      • 303 Пример
      • 305 Варианты и альтернативы
    • 307 Создание потока посредством расширения класса Thread
      • 307 Необходимые шаги
      • 307 Обсуждение
      • 308 Пример
      • 309 Варианты и альтернативы
    • 309 Использование имени и идентификатора потока
      • 310 Необходимые шаги
      • 310 Обсуждение
      • 311 Пример
      • 313 Варианты и альтернативы
    • 313 Ожидание завершения потока
      • 313 Необходимые шаги
      • 314 Обсуждение
      • 314 Пример
      • 315 Варианты и альтернативы
    • 316 Синхронизация потоков
      • 317 Необходимые шаги
      • 317 Обсуждение
      • 318 Пример
      • 320 Варианты и альтернативы
    • 320 Организация взаимодействия между потоками
      • 321 Необходимые шаги
      • 321 Обсуждение
      • 322 Пример
      • 324 Варианты и альтернативы
    • 325 Приостановка, возобновление и останов выполнения потока
      • 326 Необходимые шаги
      • 326 Обсуждение
      • 327 Пример
      • 330 Варианты и альтернативы
    • 331 Использование потока демона
      • 331 Необходимые шаги
      • 331 Обсуждение
      • 332 Пример
      • 333 Пример-бонус: простой класс Reminder
      • 338 Варианты и альтернативы
    • 339 Прерывание потока
      • 339 Необходимые шаги
      • 339 Обсуждение
      • 340 Пример
      • 342 Варианты и альтернативы
    • 343 Установка и получение приоритета потока
      • 344 Необходимые шаги
      • 344 Обсуждение
      • 344 Пример
      • 346 Варианты и альтернативы
    • 347 Мониторинг состояния потока
      • 347 Необходимые шаги
      • 347 Обсуждение
      • 348 Пример
      • 351 Пример-бонус: монитор потока
      • 355 Варианты и альтернативы
    • 355 Использование группы потоков
      • 355 Необходимые шаги
      • 356 Обсуждение
      • 357 Пример
      • 359 Варианты и альтернативы
  • 361 Глава 8. Swing
    • 362 Обзор Swing
    • 364 Компоненты и контейнеры
      • 364 Компоненты
      • 365 Контейнеры
      • 366 Панели контейнера верхнего уровня
    • 366 Обзор диспетчера компоновки
    • 368 Обработка событий
      • 368 События
      • 368 Источники событий
      • 369 Слушатели событий
    • 369 Создание простого Swing-приложения
      • 370 Необходимые шаги
      • 370 Обсуждение
      • 372 Историческая справка: getContentPane()
      • 373 Пример
      • 374 Варианты и альтернативы
    • 375 Установка диспетчера компоновки панели содержимого
      • 375 Необходимые шаги
      • 376 Обсуждение
      • 376 Пример
      • 378 Варианты и альтернативы
    • 379 Работа с JLabel
      • 379 Необходимые шаги
      • 380 Обсуждение
      • 382 Пример
      • 385 Варианты и альтернативы
    • 386 Создание простой нажимаемой кнопки
      • 386 Необходимые шаги
      • 387 Обсуждение
      • 388 Пример
      • 389 Варианты и альтернативы
    • 392 Использование пиктограмм, HTML-кода и мнемонических кодов в сочетании с JButton
      • 393 Необходимые шаги
      • 393 Обсуждение
      • 395 Пример
      • 397 Варианты и альтернативы
    • 398 Создание кнопки переключателя
      • 398 Необходимые шаги
      • 399 Обсуждение
      • 400 Пример
      • 401 Варианты и альтернативы
    • 402 Создание флажков
      • 402 Необходимые шаги
      • 402 Обсуждение
      • 403 Пример
      • 405 Варианты и альтернативы
    • 406 Создание переключателей
      • 407 Необходимые шаги
      • 407 Обсуждение
      • 408 Пример
      • 410 Варианты и альтернативы
    • 411 Ввод текста с помощью JTextField
      • 412 Необходимые шаги
      • 412 Обсуждение
      • 414 Пример
      • 416 Пример-бонус: вырезание, копирование и вставка
      • 419 Варианты и альтернативы
    • 420 Работа с JList
      • 420 Необходимые шаги
      • 420 Обсуждение
      • 422 Пример
      • 424 Варианты и альтернативы
    • 426 Использование линейки прокрутки
      • 426 Необходимые шаги
      • 427 Обсуждение
      • 429 Пример
      • 431 Варианты и альтернативы
    • 432 Использование JScrollPane для реализации прокрутки
      • 432 Необходимые шаги
      • 432 Обсуждение
      • 433 Пример
      • 435 Варианты и альтернативы
    • 437 Отображение данных в JTable
      • 438 Необходимые шаги
      • 439 Обсуждение
      • 440 Пример
      • 443 Варианты и альтернативы
    • 445 Обработка событий JTable
      • 446 Необходимые шаги
      • 446 Обсуждение
      • 449 Пример
      • 453 Варианты и альтернативы
    • 454 Отображение данных в JTree
      • 455 Необходимые шаги
      • 456 Обсуждение
      • 458 Пример
      • 462 Варианты и альтернативы
    • 463 Создание главного меню
      • 464 Необходимые шаги
      • 464 Обсуждение
      • 466 Пример
      • 468 Варианты и альтернативы
  • 471 Глава 9. Попурри
    • 472 Доступ к ресурсу посредством HTTP-подключения
      • 472 Необходимые шаги
      • 473 Обсуждение
      • 474 Пример
      • 476 Варианты и альтернативы
    • 477 Использование семафора
      • 478 Необходимые шаги
      • 479 Обсуждение
      • 479 Пример
      • 482 Варианты и альтернативы
    • 483 Возврат значения из потока
      • 484 Необходимые шаги
      • 484 Обсуждение
      • 485 Пример
      • 487 Варианты и альтернативы
    • 488 Использование рефлексии для получения информации о классе во время выполнения
      • 488 Необходимые шаги
      • 489 Обсуждение
      • 490 Пример
      • 491 Пример-бонус: утилита рефлексии
      • 492 Варианты и альтернативы
    • 493 Использование рефлексии для динамического создания объекта и вызова методов
      • 493 Необходимые шаги
      • 494 Обсуждение
      • 495 Пример
      • 497 Варианты и альтернативы
    • 497 Создание нестандартного класса исключения
      • 498 Необходимые шаги
      • 498 Обсуждение
      • 500 Пример
      • 501 Варианты и альтернативы
    • 502 Планирование задачи для выполнения в будущем
      • 503 Необходимые шаги
      • 503 Обсуждение
      • 504 Пример
      • 506 Варианты и альтернативы
  • 507 Предметный указатель

Инструкция как скачать книгу Герберт Шилдт: Java. Методики программирования Шилдта в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Java. Методики программирования Шилдта
Рейтинг книги:
2 голоса
1145

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: