- •724 Содержание
- •Глава 6. Интерфейсы и внутренние классы 139
- •У казания и ответы
- •Вопрос 3.2.
- •Вопрос 8.2.
- •Вопрос 8.3.
- •Вопрос 14.2.
- •Вопрос 21.5.
- •Ч асть 1. Основы языка java
- •Глава 1 введение в классы и объекты Основные понятия ооп
- •Язык Java
- •Нововведения версий 5.0 и 6.0
- •Простое приложение
- •Классы и объекты
- •Сравнение объектов
- •Консоль
- •Простой апплет
- •Задания к главе 1 Вариант a
- •Вариант b
- •Тестовые задания к главе 1
- •Вопрос 1.5.
- •Г лава 2 типы данных и операторы
- •Базовые типы данных и литералы
- •Документирование кода
- •Операторы
- •Классы-оболочки
- •Операторы управления
- •Массивы
- •Класс Маth
- •Управление приложением
- •Задания к главе 2 Вариант a
- •Вариант в
- •Тестовые задания к главе 2
- •Переменные класса и константы
- •Ограничение доступа
- •Конструкторы
- •Статические методы и поля
- •Модификатор final
- •Абстрактные методы
- •Модификатор native
- •Модификатор synchronized
- •Логические блоки
- •Перегрузка методов
- •Параметризованные классы
- •Параметризованные методы
- •Методы с переменным числом параметров
- •Перечисления
- •1 : Fpmi : Балаганов
- •Аннотации
- •Задания к главе 3 Вариант a
- •Вариант b
- •Тестовые задания к главе 3
- •Использование final
- •Использование super и this
- •Переопределение методов и полиморфизм
- •Методы подставки
- •Полиморфизм и расширяемость
- •Статические методы и полиморфизм
- •Абстракция и абстрактные классы
- •Класс Object
- •Клонирование объектов
- •“Сборка мусора” и освобождение ресурсов
- •Задания к главе 4 Вариант a
- •Вариант в
- •Тестовые задания к главе 4
- •Вопрос 4.7.
- •Г лава 5 проектирование классов Шаблоны проектирования grasp
- •Шаблон Expert
- •Шаблон Creator
- •Шаблон Low Coupling
- •Шаблон High Cohesion
- •Шаблон Controller
- •Шаблоны проектирования GoF
- •Порождающие шаблоны
- •К порождающим шаблонам относятся:
- •Шаблон Factory
- •Шаблон AbstractFactory
- •Шаблон Builder
- •Шаблон Singleton
- •Структурные шаблоны
- •К структурным шаблонам относятся:
- •Шаблон Bridge
- •Шаблон Decorator
- •Шаблоны поведения
- •К шаблонам поведения относятся:
- •Шаблон Command
- •Шаблон Strategy
- •Шаблон Observer
- •Тестовые задания к главе 5
- •Статический импорт
- •Внутренние классы
- •Внутренние (inner) классы
- •Вложенные (nested) классы
- •Анонимные (anonymous) классы
- •Задания к главе 6 Вариант а
- •Вариант b
- •Вариант c
- •Тестовые задания к главе 6
- •Вопрос 6.5.
- •Класс String
- •Классы StringBuilder и StringBuffer
- •Форматирование строк
- •Лексический анализ текста
- •Регулярные выражения
- •Интернационализация текста
- •Интернационализация чисел
- •Интернационализация дат
- •3 Апрель 2006 г.
- •Задания к главе 7 Вариант a
- •Вариант b
- •Тестовые задания к главе 7
- •Оператор throw
- •Ключевое слово finally
- •Собственные исключения
- •Наследование и исключения
- •Отладочный механизм assertion
- •Задания к главе 8
- •Байтовые и символьные потоки ввода/вывода
- •Предопределенные потоки
- •Сериализация объектов
- •Консоль
- •Класс Scanner
- •Архивация
- •Задания к главе 9 Вариант a
- •Вариант b
- •Вариант с
- •Тестовые задания к главе 9
- •Множества
- •Карты отображений
- •14El - найден по ключу '12'
- •Унаследованные коллекции
- •Класс Collections
- •Класс Arrays
- •Задания к главе 10 Вариант a
- •Вариант b
- •Тестовые задания к главе 10
- •Апплеты
- •Задания к главе 11
- •Тестовые задания к главе 11
- •Классы-адаптеры
- •Задания к главе 12
- •Тестовые задания к главе 12 Вопрос 12.1.
- •Вопрос 12.2.
- •Вопрос 12.3.
- •Вопрос 12.4.
- •Вопрос 12.5.
- •Г лава 13 элементы компоновки и управления
- •Менеджеры размещения
- •Элементы управления
- •Визуальные компоненты JavaBeans
- •Задания к главе 13 Вариант а
- •Вариант b
- •Жизненный цикл потока
- •Управление приоритетами и группы потоков
- •Управление потоками
- •Потоки-демоны
- •Потоки в графических приложениях
- •Методы synchronized
- •Инструкция synchronized
- •Состояния потока
- •Потоки в j2se 5
- •Задания к главе 14 Вариант а
- •Вариант b
- •Тестовые задания к главе 14
- •Вопрос 14.1.
- •Вопрос 14.2.
- •Вопрос 14.3.
- •Вопрос 14.4.
- •Вопрос 14.5.
- •Г лава 15 сетевые программы Поддержка Интернет
- •Сокетные соединения по протоколу tcp/ip
- •Многопоточность
- •Датаграммы и протокол udp
- •Задания к главе 15 Вариант а
- •Вариант b
- •Древовидная модель
- •Элементы таблицы стилей
- •Задания к главе 16 Вариант а
- •Тестовые задания к главе 16
- •Запуск контейнера сервлетов и размещение проекта
- •Первая jsp
- •Взаимодействие сервлета и jsp
- •Задания к главе 17 Вариант а
- •Вариант b
- •Интерфейс ServletContext
- •Интерфейс ServletConfig
- •Интерфейсы ServletRequest и HttpServletRequest
- •Интерфейсы ServletResponse и HttpServletResponse
- •Обработка запроса
- •Многопоточность
- •Электронная почта
- •Задания к главе 18 Вариант а
- •Вариант b
- •Стандартные элементы action
- •Неявные объекты
- •Демонстрация работы тегов c:forEach, c:choose, c:when, c:otherwise
- •Данная страница демонстрирует работу тегов
- •Включение ресурсов
- •Обработка ошибок
- •Технология взаимодействия jsp и сервлета
- •Задания к главе 19
- •Вариант а
- •Вариант b
- •Субд MySql
- •Простое соединение и простой запрос
- •Метаданные
- •Подготовленные запросы и хранимые процедуры
- •Транзакции
- •Id студента: 83, Petrov Внесены данные в students: 83, Petrov Внесены данные в course: 83, xml Данные внесены - транзакция завершена
- •Точки сохранения
- •Пул соединений
- •Задания к главе 20 Вариант а
- •Вариант b
- •Обработка событий
- •Фильтры
- •Задания к главе 21 Вариант а
- •Вариант b
- •Вопрос 21.5.
- •Вопрос 21.6.
- •Г лава22 пользовательские теги
- •Простой тег
- •Тег с атрибутами
- •Тег с телом
- •Элементы action
- •Задания к главе 22 Вариант а
- •Вариант b
- •П риложение 2
- •Включение скриптов на языке JavaScript в html-код
- •Отладка скриптов JavaScript
- •Типы данных
- •Специальные числа
- •Булев тип
- •Переменные типа Undefined и Null
- •Массивы
- •Операторы и выражения
- •Оператор with
- •Оператор switch
- •Метод eval()
- •Функции
- •Передача параметров по значению и по ссылке
- •Глобальные и локальные переменные
- •Пользовательские объекты
- •Прототипы
- •Встроенные объекты Array, Date, Math Объект Array
- •Объект Date
- •Объект Math
- •Объекты window и document
- •Создание новых узлов
- •Добавление новых узлов в документ
- •Удаление и замена узлов в документе
- •Использование каскадных таблиц стилей в dom
- •Свойство элемента innerHtml и outerHtml
- •Динамическое назначение событий
- •Ключевое слово this
- •П риложение3
- •Проектная модель
- •Uml как программный язык
- •Нотации и метамодель
- •Диаграммы, которые ниже будут рассмотрены с разной степенью детализации:
- •Свойства
- •Множественность
- •Операторы
- •П риложение 4 базы данных и язык sql
- •Реляционные субд Модель данных в реляционных субд
- •Нормализация модели данных
- •Язык sql
- •Команды sql
- •Команды определения структуры данных (DataDefinitionLanguage–ddl)
- •Команды манипулирования данными (Data Manipulation Language – dml)
- •Команды управления транзакциями (TransactionControlLanguage–tcl)
- •Команды управления доступом (DataControlLanguage–dcl)
- •Работа с командами sql
- •Ключевое слово distinct
- •Секция from, логическое связывание таблиц
- •Секция where
- •Секция orderby
- •Групповые функции
- •Секция group by
- •Секция having
- •Изменение данных
- •Команда insert
- •Команда delete
- •Команда update
- •Определение структуры данных Команда createtable
- •Команда droptable
- •П риложение5
- •П риложение 6
- •П риложение7 журнал сообщений (logger)
- •П риложение 8
- •Портлеты
Вопрос 14.2.
Поток t1 не входит ни в одну группу, поэтому его приоритет останется неизменным, т.е. 7. Вызов метода setMaxPriority() для группы потоков с параметром 8 большим, чем 5, приведет к тому, что приоритет группы потоков, а следовательно, и потока t2 будет установлен как NORMAL_PRIORITY.
Ответ: 1.
Вопрос 14.3.
Поток t1 не может быть создан, т.к. класс T1 не имеет метода start(), но создать его можно, например, командой
Thread t1 = new Thread(new T1());
Объект t2 не может быть создан, т.к. у класса T2 нет конструктора, способного принимать параметры.
Ответ: 3, 4.
Вопрос 14.4.
Методы sleep(), wait() приводят к временной остановке и переходу в состояние “неработоспособный”. Методы notify() и notifyAll() не имеют отношения к изменению состояния потоков, они лишь уведомляют другие потоки о снятии изоляции с синхронизированных ресурсов. Метод stop() и завершение выполнения метода run() приводят поток в состояние “пассивный”, из которого запуск потока с тем же именем возможен только после инициализации ссылки.
Ответ: 2, 3.
Вопрос 14.5.
При запуске приложения будет создано два потока r и t, но стартует только второй. Поток t инициализирован с использованием ссылки на первый поток. Это обстоятельство в данном контексте не оказывает влияния на выполнение второго потока. В итоге метод run() будет вызван только один раз.
Ответ: 3.
Ответы:
14.1. 4)
14.2. 1)
14.3. 3), 4)
14.4. 2), 3)
14.5. 3)
Глава 15
Вопрос 15.1.
Класс Socket поддерживает TCP-соединения. Порт 23 зарезервирован для протокола Telnet, являющегося подчиненным протоколом TCP/IP. Для UDP-соединений существует класс DatagramSocket.
Ответ: 3.
Вопрос 15.2.
Для получения содержимого страницы сначала создается объект URL, затем вызывается метод getContent().
Ответ: 2.
Вопрос 15.4.
Соответствующий конструктор класса Socket имеет вид:
public Socket(String host, int port)
throws UnknownHostException, IOException
Ответ: 1, 3.
Вопрос 15.5.
Команда p.flush() поместит сообщение в поток, ассоциированный с сокетом, а команда s.close() закроет сокет после обмена информацией с клиентом.
Ответ: 1, 4.
Ответы:
15.1. 3)
15.2. 2)
15.3. 1)
15.4. 1), 3)
15.5. 1), 4)
Глава 16
Вопрос 16.1.
Для описания структуры данных используются только XSD и DTD. XSL используется для преобразований документа XML. CSS – каскадная таблица стилей для HTML.
Ответ: 1, 3.
Вопрос 16.2.
В строке 5 для тега </name> отсутствует открывающий тег. В строке 6 для тега <name> отсутствует закрывающий тег.
Ответ: 5, 6.
Вопрос 16.3.
Имя тега не может содержать пробельные символы или начинаться с цифры.
Ответ: 2, 4.
Вопрос 16.4.
Значения атрибутов XML могут помещаться только в двойные кавычки или апострофы.
Ответ: 1, 2.
Ответы:
16.1. 1), 3)
16.2. 5), 6)
16.3. 2), 4)
16.4. 1), 2)
16.5. 5)
Глава 17
Ответы:
17.1. 6)
17.2. 3)
17.3. 1), 4)
17.4. 1)
17.5. 3)
17.6. 2)
Глава 18
Вопрос 18.1.
Вызов getServletConfig(), как правило, осуществляется из метода init() и возвращает объект ServletConfig, соответствующий этому сервлету, а вызов метода getInitParameter(String str) класса ServletConfig возвращает значение требуемого параметра. Объект класса HttpServlet также может вызвать этот метод. Параметры инициализации хранятся в XML-файле.
Ответ: 2, 3.
Вопрос 18.2.
Щелчок по ссылке посылает GET запрос по умолчанию, который обрабатывается методом doGet() сервлета. Чтобы вызвать метод doPost(), тип запроса нужно указывать явно.
Ответ: 1.
Вопрос 18.3.
Перед обработкой самого первого запроса контейнер сервлетов вызывает метод init() сервлета. После того как метод выполнился, сервлет может отвечать на запросы пользователей. При этом не имеет значения, отслеживалась сессия пользователя или нет, создавался новый поток выполнения или нет.
Ответ: 4, 5.
Вопрос 18.5.
ServletOutputStream и ServletContextEvent – классы пакета javax.servlet. PageContext – класс пакета javax.servlet.jsp. Интерфейсами указанного пакета являются ServletRequest и Servlet.
Ответ: 1, 4.
Вопрос 18.6.
Следует обратить внимание на тип тега <input> на форме. На самом деле форма посылает файл. Данные из файла могут быть получены в сервлете из объектов ServletInputStream (для бинарных файлов) или Reader (для текстовых файлов), извлеченных из запроса.
Ответ: 3, 4.
Ответы:
18.1. 2), 3)
18.2. 1)
18.3. 4), 5)
18.4. 3)
18.5. 1), 4)
18.6. 3), 4)
Глава 19
Вопрос 19.1.
Для объявления переменных предназначен тег <%! %>, внутри которого должен находиться компилируемый без ошибок код Java, завершаемый символом ‘;’ или заключенный в фигурные скобки.
Ответ: 3.
Вопрос 19.2.
Неявные переменные существуют на протяжении всего жизненного цикла сервлета и ограничены только областью видимости. Переменные this и page суть одна и та же переменная, представляющая текущий экземпляр JSP. Переменная exception создается только при возникновении ошибки на странице и до- ступна только на странице обработки ошибок.
Ответ: 2, 3, 4.
Вопрос 19.4.
Созданный экземпляр будет обладать областью видимости в пределах приложения и представляет собой контейнер для исполнения JSP типа ServletContext.
Ответ: 3.
Вопрос 19.5.
Для получения значения свойства компонента используется действие jsp:getProperty в виде:
<jsp:getProperty name="имяКом" property="имяСв" />
Ответ: 4.
Ответы:
19.1. 3)
19.2. 2), 3), 4)
19.3. 4)
19.4. 3)
19.5. 4)
Глава 20
Вопрос 20.1.
Объект DriverManager для установки соединения с БД использует драйвер БД и ее URL. Объект DataSource использует имя для поиска объекта.
Ответ: 1, 2.
Вопрос 20.2.
Производитель СУБД должен создать и предоставить драйвер для соединения с БД. Все драйвера должны реализовывать интерфейс java.sql.Driver.
Ответ: 1.
Вопрос 20.3.
Метод getMetaData() извлекает из установленного соединения объект DatabaseMetaData, в котором определен целый ряд методов, позволяющих получить информацию о состоянии БД и ее таблиц.
Ответ: 1.
Вопрос 20.5.
Метод executeUpdate() используется для выполнения SQL-операторов, производящих изменения в БД. Метод execute() применяется, если неизвестен тип данных, возвращаемых оператором SQL. Метод executeBatch() применяется для выполнения группы команд SQL. Метод executeQuery() возвращает результат выполнения оператора SELECT, упакованный в объект ResultSet.
Ответ: 2.
Ответы:
20.1. 1), 2)
20.2. 1)
20.3. 1)
20.4. 4)
20.5. 2)
Глава 21
Вопрос 21.3.
У метода getSession() объекта-запроса есть две разновидности: без параметров и форма getSession(boolean create). Вызов getSession(true) указывает на необходимость создания объекта-сессии, если он не существует. Других способов извлечения сессии из объекта-запроса нет.
Ответ: 1, 7.
Вопрос 21.4.
Имя файла cookie передается конструктору и далее не может быть изменено. Метода setName(String name) у файла cookie не существует. В то же время значение файла передается конструктору и впоследствии может быть изменено при помощи вызова метода setValue(String value). Браузер накладывает ограничение на размер каждого файла cookie (не более 4 Kb) и общее количество cookie (не более 20 cookie для одного Web-сервера и всего не более 300). Максимальное время существования файла cookie устанавливается с помощью метода setMaxAge(int expiry), но значение параметра должно быть задано в секундах.
Ответ: 1, 3, 4.