Тольяттинский государственный университет (Росдистант), ТГУ. Программирование на Java (Джава) 2 (8151, 11217). Промежуточные и итоговый тесты. Ответы на вопросы.
Для Росдистант имеются и другие готовые работы. Пишем уникальные работы под заказ. Помогаем с прохождением онлайн-тестов. Пишите, пожалуйста, в личку (Евгений).
ИТОГОВЫЙ ТЕСТ (в базе более 120 вопросов)
... возвращает те файлы, путевые имена которых соответствуют интерфейсу.
Выберите один ответ:
FileFilter
FilenameFilter
isFile
getName
Классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер, – это
Выберите один ответ:
Executors
Synchronizers
Queues
Concurrent Collections
Какой из парсеров является толковым (проталкивает события при проходе XML-документа)?
Выберите один ответ:
SAX – Simple API for XML
DOM – Document Object Model
StAX – Stream API for XML
XSD – XML Schema Definition Language
Что выполняет метод sleep() класса Thread?
Выберите один ответ:
Поток, вызвавший данный метод у второго потока, будет ожидать его завершения
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Дан фрагмент кода. Каким будет результат?
Выберите один ответ:
Внутри файла “a.txt” будет обновлен текст и выведено “This new text This new text”
В файл “a.txt” будет записан текст “This new text”
Ошибка компиляции
Будет создан новый файл “a.txt” и введен текст “This new text”
Какой метод интерфейса блокировки чтения ReadWriteLock захватывает блокировку?
Выберите один ответ:
lock
lockInterruptibly
tryLock
unlock
Какой метод интерфейса блокировки чтения ReadWriteLock освобождает блокировку?
Выберите один ответ:
lock
lockInterruptibly
tryLock
unlock
Какое событие возникает, если парсер нашел некоторый текст?
Выберите один ответ:
startDocument
endDocument
startElement
characters
endElement
Что из перечисленного связано с превращением объекта в поток байтов?
Выберите один ответ:
Персистентность
Сериализация
Синхронность
Сохраняемость
Как называется процесс, при котором две операции, выполняемые в разных потоках, но воздействующие на одни и те же данные, чередуются?
Выберите один ответ:
Интерференция
Синхронизация
Сериализация
Персистентность
Какие существуют виды XML-документов?
Выберите один или несколько ответов:
Правильно форматированные – Well-Formed Documents
Правильные – Valid Documents
Неправильные – not Valid Documents
Документы SAX
Какой класс описывает выходной символьный поток с возможностью буферизации?
Выберите один ответ:
Writer
BufferedWriter
FilterWriter
CharArrayWriter
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Synchronizers
Atomic
Races
Transactions
Что выполняет следующий код?
XMLInputFactory xmlif = XMLInputFactory.newFactory();
XMLStreamReader r = xmlif.createXMLStreamReader(new FileReader("example.xml"));
while (r.hasNext()) {
switch (r.next()) {
case XMLStreamReader.START_ELEMENT:
System.out.println("START_ELEMENT");
System.out.println(" Qname = " + r.getName());
break;
case XMLStreamReader.END_ELEMENT:
System.out.println("END_ELEMENT");
System.out.println(" Qname = " + r.getName());
}
}
Выберите один ответ:
Создает потоковый StAX-парсер и анализирует события начала и завершения элемента
Создает потоковый StAX-парсер
Создает фабрику парсеров
Создает DOM-парсер и производит обход DOM-дерева
Установите соответствие между назначением и наименованием метода DOM-парсера.
Возвращает первого потомка данного узла
Выберите...
getAttribute
getDocumentElement
getFirstChild
getPreviousSibling
Возвращает предыдущий равный по уровню узел
Выберите...
getAttribute
getDocumentElement
getFirstChild
getPreviousSibling
Возвращает значение атрибута с указанным именем
Выберите...
getAttribute
getDocumentElement
getFirstChild
getPreviousSibling
Возвращает корень дерева DOM
Выберите...
getAttribute
getDocumentElement
getFirstChild
getPreviousSibling
Выберите код, соответствующий обработчику события «Начало документа».
Выберите один ответ:
@Override
public void startDocument() {
System.out.println("startDocument()");
}
@Override
public void startDTD(String name, String publicId, String systemId) {
System.out.print("startDTD() ");
System.out.print("name=[" + name + "]");
System.out.print("publicId=[" + publicId + "]");
System.out.println("systemId=[" + systemId + "]");
}
@Override
public void startEntity(String name) {
System.out.print("startEntity() ");
System.out.println("name=[" + name + "]");
}
@Override
public void startPrefixMapping(String prefix, String uri) {
System.out.print("startPrefixMapping() ");
System.out.print("prefix=[" + prefix + "]");
System.out.println("uri=[" + uri + "]");
}
С помощью каких XML-парсеров можно программно создавать XML-документы?
Выберите один или несколько ответов:
SAX
DOM
StAX
XSD
В какой версии языка Java был введен пакет java.util.concurrent?
Выберите один ответ:
5
7
8
4
Какие примитивы синхронизации используются в параллельном программировании?
Выберите один или несколько ответов:
Мьютекс
Семафор
Монитор
Указатель
Что такое DTD (Document Type Declaration)?
Выберите один ответ:
Схема описания XML-документа
Содержание XML-документа
Тип XML-парсера
Стандартизированное расширение XML
Какое событие возникает, если парсер нашел начало документа?
Выберите один ответ:
startDocument
endDocument
startElement
characters
endElement
Базовый интерфейс для классов, реализующих запуск Runnable задач при работе с пулами потоков, – это
Выберите один ответ:
Executor
ExecutorService
ThreadPoolExecutor
Thread
Выберите код, который удаляет запись о студенте с идентификатором в виде параметра запроса.
Выберите один ответ:
String query = "DELETE FROM student WHERE group = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, group);
stmt.executeUpdate();
}
String query = "SELECT * FROM student WHERE group = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, group);
ResultSet rs = stmt.executeQuery();
...
String query = "UPDATE student SET group = ? WHERE group = ?" ;
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, oldGroup);
stmt.setString(2, newGroup);
stmt.executeUpdate();
...
String query = "DELETE FROM student WHERE id=101";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
...
Что в пакете java.util.concurrent служит для определения и управления операциями на основе времени ожидания?
Выберите один ответ:
Экзекьюторы
Синхронизаторы
Параллельные утилиты времени
Многопоточные очереди и коллекции
Выберите код, который вставляет записи в таблицу order с использованием параметризированного запроса.
Выберите один ответ:
String query = "SELECT * RFOM order WHERE count > ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
ResultSet rs = stmt.executeQuery();
String query = "UPDATE order SET price = price * ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setFloat(1, ratio);
stmt.executeUpdate();
String query = "DELETE FROM order WHERE id = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setLong(1, id);
stmt.executeUpdate();
}
String query = "INSERT INTO order VALUES (100, 'D1234', 12)";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setLong(1, id);
stmt.setString(2, number);
stmt.setLong(3, count);
stmt.executeUpdate();
}
Буферизованные потоки являются расширением классов фильтруемых потоков, в них к потокам ввода-вывода присоединяется буфер
Выберите один ответ:
в памяти
в каталоге
в файле
в подкаталоге
Выберите код, который добавляет запись по новому студенту, используя запрос с параметрами.
Выберите один ответ:
String query = "UPDATE student SET group = ? WHERE group = ?" ;
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, oldGroup);
stmt.setString(2, newGroup);
stmt.executeUpdate();
...
String query = "DELETE FROM student WHERE id=101";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
...
String query = "INSERT INTO student VALUES ('Ivan', 'Ivanov', 'CS2020_01')";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
...
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, fName);
stmt.setString(2, lName);
stmt.setString(3, group);
stmt.executeUpdate();
...
Что такое DOM (Document Object Model)?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Для работы с реляционными базами данных платформа Java SE предлагает технологию
Выберите один ответ:
JDBC
ODBC
JPA
MySQL
Какой примитив синхронизации обладает лишь двумя состояниями: занят и свободен?
Выберите один ответ:
Семафор
Взаимная блокировка
Монитор
Мьютекс
Выберите класс ввода-вывода, работающий с файлами и позволяющий получить информацию о файлах.
Выберите один ответ:
File
Scanner
FileReader
FileWriter
Выберите код, который использует запросы с параметрами.
Выберите один или несколько ответов:
String query = "SELECT * FROM student";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
String query = "SELECT * FROM student WHERE group = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, group);
ResultSet rs = stmt.executeQuery();
...
String query = "UPDATE student SET group = ? WHERE group = ?" ;
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, oldGroup);
stmt.setString(2, newGroup);
stmt.executeUpdate();
...
String query = "DELETE FROM student WHERE id=101";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
...
Сопоставьте наименование потока ввода-вывода и его назначение.
PrintStream
Выберите...
Реализует буферизованный выходной байтовый подход
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
Позволяет трансформировать (фильтровать) байты выходного потока
Позволяет записывать примитивные типы данных Java в выходной поток
FilterOutputStream
Выберите...
Реализует буферизованный выходной байтовый подход
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
Позволяет трансформировать (фильтровать) байты выходного потока
Позволяет записывать примитивные типы данных Java в выходной поток
DataOutputStream
Выберите...
Реализует буферизованный выходной байтовый подход
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
Позволяет трансформировать (фильтровать) байты выходного потока
Позволяет записывать примитивные типы данных Java в выходной поток
BufferedOutputStream
Выберите...
Реализует буферизованный выходной байтовый подход
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
Позволяет трансформировать (фильтровать) байты выходного потока
Позволяет записывать примитивные типы данных Java в выходной поток
· Позволяет записывать примитивные типы данных Java в выходной поток
Сопоставьте наименование метода класса Thread и назначение метода.
sleep()
Выберите...
Содержит код, запускаемый параллельно
Дает указание JVM о том, что данный поток может запущен на выполнение
Переводит вычислительный поток в режим сна
Поток, вызвавший данный метод второго потока, ожидает завершение второго потока
join()
Выберите...
Содержит код, запускаемый параллельно
Дает указание JVM о том, что данный поток может запущен на выполнение
Переводит вычислительный поток в режим сна
Поток, вызвавший данный метод второго потока, ожидает завершение второго потока
start()
Выберите...
Содержит код, запускаемый параллельно
Дает указание JVM о том, что данный поток может запущен на выполнение
Переводит вычислительный поток в режим сна
Поток, вызвавший данный метод второго потока, ожидает завершение второго потока
run()
Выберите...
Содержит код, запускаемый параллельно
Дает указание JVM о том, что данный поток может запущен на выполнение
Переводит вычислительный поток в режим сна
Поток, вызвавший данный метод второго потока, ожидает завершение второго потока
Укажите правильный порядок работы с потоками ввода-вывода.
Закрытие потока
Ответ 1
Выберите...
4
1
2
3
Работа с потоком
Ответ 2
Выберите...
4
1
2
3
Инициализация потока
Ответ 3
Выберите...
4
1
2
3
Открытие потока
Ответ 4
Выберите...
4
1
2
3
Сопоставьте наименование потока ввода-вывода и его назначение.
FileReader
Выберите...
Образует символьный поток из строки
Реализует мост между байтовыми и символьными потоками
Считывает байты из файла и декодируют их в символы, используя определенную таблицу кодировки
Используются при создании канала между вычислительными нитями (подпроцессами)
InputStreamReader
Выберите...
Образует символьный поток из строки
Реализует мост между байтовыми и символьными потоками
Считывает байты из файла и декодируют их в символы, используя определенную таблицу кодировки
Используются при создании канала между вычислительными нитями (подпроцессами)
StringReader
Выберите...
Образует символьный поток из строки
Реализует мост между байтовыми и символьными потоками
Считывает байты из файла и декодируют их в символы, используя определенную таблицу кодировки
Используются при создании канала между вычислительными нитями (подпроцессами)
PipedReader и PipedWriter
Выберите...
Образует символьный поток из строки
Реализует мост между байтовыми и символьными потоками
Считывает байты из файла и декодируют их в символы, используя определенную таблицу кодировки
Используются при создании канала между вычислительными нитями (подпроцессами)
Укажите начальный символ спецификации преобразования.
Выберите один ответ:
%
/
. (точка)
s
Работа InputStream состоит в представлении …, которые производят ввод от различных источников.
Выберите один ответ:
классов
объектов
потоков
методов
Набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util, – это
Выберите один ответ:
Executors
Synchronizers
Queues
Concurrent Collections
Что выполняет следующий код?
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
Выберите один ответ:
Создается фабрика построителей DOM-документов
Создается фабрика DOM-документов
Создается DOM-документ
Фабрике построителей DOM-документов дается указание об использовании пространства имен
Что в пакете java.util.concurrent представляет простой стандартизированный интерфейс для определения настраиваемых многопоточных фреймворков?
Выберите один ответ:
Экзекьюторы
Синхронизаторы
Параллельные утилиты времени
Многопоточные очереди и коллекции
Операции ввода-вывода содержатся в пакете
Выберите один ответ:
java.util
java.awt
java.lang
Какой объект нужно сконструировать из объекта File для чтения данных из файла?
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
Выберите основные программные интерфейсы для парсинга XML.
Выберите один или несколько ответов:
SAX – Simple API for XML
DOM – Document Object Model
JAXP – Java API for XML Parsing
XSD – XML Schema Definition Language
Каковы особенности работы с потоками?
Выберите один или несколько ответов:
При создании большого количества вычислительных потоков может закончиться память виртуальной машины
Обработчики исключений работают внутри отдельного стека
Обработчики исключений работают вне стека
При создании большого количества вычислительных потоков может закончиться оперативная память компьютера
Какой класс предназначен для буферизованного чтения массива символов?
Выберите один ответ:
BufferedWriter
BufferedReader
CharArrayWriter
CharArrayReader
Какие основные стратегии управления потоками существуют в Java?
Выберите один или несколько ответов:
Прямое управление созданием и работой с потоком через экземпляры класса Thread
Абстрактное управление потоками через реализации Executor
Прямое управление созданием и работой с потоком через экземпляры класса PThread
Управление созданием и работой с потоком посредством прямого взаимодействия с диспетчером потоков операционной системы
Выберите правильные утверждения.
Выберите один или несколько ответов:
Поток ввода-вывода считывает данные из источника (source) и передает их получателю (destination)
Поток ввода-вывода есть последовательность передаваемых или получаемых данных
Поток ввода-вывода может представлять различные источники и получатели, такие как файлы, устройства, другие программы и блоки памяти
Поток ввода-вывода передает или получает данные как параллельная шина
Какой класс является родительским для входных символьных потоков?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
Что выполняет метод start() класса Thread?
Выберите один ответ:
Поток, вызвавший данный метод у второго потока, будет ожидать его завершения
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Что необходимо предусмотреть при вызове метода sleep() для прерывания вычислительного потока?
Выберите один или несколько ответов:
Использование оператора try/catch для перехвата выбрасываемого методом sleep() исключения
Предложение throw в объявлении метода для последующей обработки выбрасываемого методом sleep() исключения
Использование оператора try with resource для корректного закрытия вычислительного потока
Использование оператора case для обработки выбрасываемого методом sleep() исключения
Выберите правильные утверждения.
Выберите один или несколько ответов:
Интерфейс Future может использоваться для представления результата вычислений другим потоком
Интерфейс Future может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Интерфейс Future не может использоваться для представления результата вычислений другим потоком
Интерфейс Future не может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Сопоставьте наименование потока ввода-вывода и его назначение.
FileInputStream
Выберите...
Позволяет трансформировать (фильтровать) байты входного потока
Реализует буферизованный входной байтовый поток
Создает байтовые потоки, которые считываются из файла
Производит считывание в поток массива байтов
BufferedInputStream
Выберите...
Позволяет трансформировать (фильтровать) байты входного потока
Реализует буферизованный входной байтовый поток
Создает байтовые потоки, которые считываются из файла
Производит считывание в поток массива байтов
FilterInputStream
Выберите...
Позволяет трансформировать (фильтровать) байты входного потока
Реализует буферизованный входной байтовый поток
Создает байтовые потоки, которые считываются из файла
Производит считывание в поток массива байтов
ByteArrayInputStream
Выберите...
Позволяет трансформировать (фильтровать) байты входного потока
Реализует буферизованный входной байтовый поток
Создает байтовые потоки, которые считываются из файла
Производит считывание в поток массива байтов
Сопоставьте наименование потока ввода-вывода и его назначение.
FileOutputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Реализует выходной байтовый поток для записи данных в файл
Реализует выходной поток, в котором данные записываются в массив байтов
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
OutputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Реализует выходной байтовый поток для записи данных в файл
Реализует выходной поток, в котором данные записываются в массив байтов
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
ByteArrayOutPutStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Реализует выходной байтовый поток для записи данных в файл
Реализует выходной поток, в котором данные записываются в массив байтов
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
InputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Реализует выходной байтовый поток для записи данных в файл
Реализует выходной поток, в котором данные записываются в массив байтов
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Что выполняет следующий код?
XMLInputFactory xmlif = XMLInputFactory.newFactory();
XMLStreamReader r = xmlif.createXMLStreamReader(new FileReader("example.xml"));
Выберите один ответ:
Создает потоковый StAX-парсер и анализирует события начала и завершения элемента
Создает потоковый StAX-парсер
Создает фабрику парсеров
Создает DOM-парсер и производит обход DOM-дерева
Какой класс записывает символы в массив?
Выберите один ответ:
Writer
StringReader
CharArrayReader
CharArrayWriter
Что выполняет приведенный код?
String query = "SELECT * FROM order WHERE count > ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(100, 1);
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы order, у которых count больше 100
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order, у которых count больше 1
Что выполняет приведенный пример кода?
String url = "jdbc:mysql://localhost:3306/";
String database = "db";
String userName = "user";
String password = "root";
Connection conn = DriverManager.
getConnection(url + database, userName, password);
Выберите один ответ:
Устанавливает соединение с базой данных MySQL
Устанавливает соединение с базой данных DB2
Осуществляет обход значений результирующего набора данных
Запускает на выполнение оператор SQL
Какие действия выполняет следующий код SAX-пасера?
public void characters(char[] ch, int start, int length)
{
System.out.print("characters() [");
for (int i = start; i < start + length; i++)
System.out.print(ch[i]);
System.out.println("]");
}
Выберите один ответ:
Выводит найденный текст элемента на стандартную консоль
Выводит найденный текст элемента в файл
Выводит содержимое комментария
Выводит информацию о найденном элементе
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Concurrent Collections
Pipes
Garbage Collector
Выберите правильные утверждения.
Выберите один или несколько ответов:
Executors не позволяют приложению завершить свое выполнение
Executors позволяют приложению завершить свое выполнение
Executors могут выполнять коллекцию задач Runnable
Executors не могут выполнять коллекцию задач Runnable
Какие действия выполняет следующий код SAX-парсера?
public void endDocument()
{
System.out.println("endDocument()");
}
Выберите один ответ:
Выводит найденный текст элемента на стандартную консоль
Выводит информацию о начале XML-документа
Выводит содержимое комментария
Выводит информацию о найденном элементе
Выводит информацию о завершении XML-документа
Что выполняет приведенный пример кода?
ResultSet rs = ...;
while (rs.next()) {
…
}
Выберите один ответ:
Опрашивает доступность базы данных
Безопасно открывает ресурсы для работы с базой данных
Осуществляет обход значений результирующего набора данных
Запускает на выполнение оператор SQL
Что выполняет приведенный код?
String query = "UPDATE student SET group = ? WHERE group = ?" ;
Connection conn = DBConnector.getConnection();
Statement stmt = conn.prepareStatement(query);
stmt.setString(1, oldGroup);
stmt.setString(2, newGroup);
stmt.executeUpdate();
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из заданной группы
Код вызовет ошибку времени выполнения
Код вызовет ошибку компиляции
Создает запрос, изменяющий группу oldGroup студентов на новую группу newGroup
Создает запрос, изменяющий у всех студентов группу на новую – newGroup
Выберите правильные утверждения.
Выберите один или несколько ответов:
При старте JVM запускается non-demon поток main
При старте JVM запускается demon-поток main
JVM выполняет потоки, пока не вызовется метод Runtime.exit()
JVM выполняет потоки, пока не завершат работу все demon-потоки
Каковы правила, позволяющие создавать неизменяемые объекты?
Выберите один или несколько ответов:
Не используйте методы сеттеры, изменяющие содержимое объекта
Сделайте все поля окончательными и закрытыми
Запретите классам-наследникам переопределять методы
Позволяйте клиентам класса изменять объекты
Назовите виды данных.
Выберите один или несколько ответов:
Локальные
Глобальные
Персистентные
Перманентные
Дан код. Какое действие описывает код?
Выберите один ответ:
Запись строки в файл
Чтение строки из файла
Считывание в промежуточный буфер из массива символов
Запись в промежуточный буфер из массива символов
К какому виду парсеров относится событие characters?
Выберите один ответ:
SAX – Simple API for XML
DOM – Document Object Model
StAX – Stream API for XML
XSD – XML Schema Definition Language
Установите соответствие между назначением и наименованием узла DOM.
Представление атрибута элемента XML
Выберите...
Document
Element
Attr
Text
Представление элемента XML
Выберите...
Document
Element
Attr
Text
Представление содержимого элемента
Выберите...
Document
Element
Attr
Text
Представление всего XML-документа
Выберите...
Document
Element
Attr
Text
Что выполняет приведенный код?
public void insertStudent(String fName, String lName, String group) throws SQLException {
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.createStatement(query)) {
stmt.setString(1, fName);
stmt.setString(2, lName);
stmt.setString(3, group);
stmt.executeUpdate();
}
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы student
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу student с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу student с использованием непараметризированного запроса
Что такое XSD (XML Schema Definition Language)?
Выберите один ответ:
Схема описания XML-документа
Содержание XML-документа
Тип XML-парсера
Стандартизированное расширение XML
Выберите правильные утверждения.
Выберите один или несколько ответов:
Данные обработчика ошибок являются потокобезопасными
Локальные переменные всегда размещаются в куче
Фактические параметры методов всегда размещаются в куче
Данные обработчика ошибок всегда размещаются в стеке
Что выполняет приведенный код?
String query = "SELECT * FROM student WHERE group = ?";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.prepareStatement(query);
stmt.setString(1, group);
ResultSet rs = stmt.executeQuery();
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из определенной группы
Создает запрос, выбирающий все записи из таблицы student
Код даст ошибку компиляции
Код даст ошибку времени выполнения
Дан фрагмент кода. Какое действие описывает код?
Выберите один или несколько ответов:
Методы inc1() и inc2() не могут выполняться одновременно
Методы inc1() и inc2() могут выполняться одновременно
Два и более метода inc1() могут выполняться одновременно
Два и более метода inc1() не могут выполняться одновременно
Сопоставьте наименование потока ввода-вывода и его назначение.
PushbackInputStream
Выберите...
Служит для связи отдельных программ (потоков) друг с другом внутри одной JVM
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет читать примитивные типы данных Java из базового входного потока машинно-независимым способом
DataInputStream
Выберите...
Служит для связи отдельных программ (потоков) друг с другом внутри одной JVM
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет читать примитивные типы данных Java из базового входного потока машинно-независимым способом
ObjectInputStream
Выберите...
Служит для связи отдельных программ (потоков) друг с другом внутри одной JVM
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет читать примитивные типы данных Java из базового входного потока машинно-независимым способом
PipedInputStream
Выберите...
Служит для связи отдельных программ (потоков) друг с другом внутри одной JVM
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет читать примитивные типы данных Java из базового входного потока машинно-независимым способом
Что реализуется путем сохранения состояния атрибутов объекта между выполнениями программы?
Выберите один ответ:
Персистентность
Сериализация
Синхронность
Сохраняемость
Сопоставьте наименование потока ввода-вывода и его назначение.
Reader
Выберите...
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Абстрактный класс, являющийся родительским для иерархии выходных символьных потоков
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Абстрактный класс, являющийся родительским для иерархии входных символьных потоков
Writer
Выберите...
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Абстрактный класс, являющийся родительским для иерархии выходных символьных потоков
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Абстрактный класс, являющийся родительским для иерархии входных символьных потоков
InputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Абстрактный класс, являющийся родительским для иерархии выходных символьных потоков
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Абстрактный класс, являющийся родительским для иерархии входных символьных потоков
OutputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Абстрактный класс, являющийся родительским для иерархии выходных символьных потоков
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Абстрактный класс, являющийся родительским для иерархии входных символьных потоков
Выберите правильные утверждения.
Выберите один или несколько ответов:
Данные обработчика ошибок являются потокобезопасными
Локальные переменные всегда размещаются в стеке
Фактические параметры методов всегда размещаются в куче
Данные обработчика ошибок всегда размещаются в куче
Какое событие DOM-парсера возвращает следующий равный по уровню узел?
Выберите один ответ:
getPreviousSibling
getFirstChild
getNextSibling
getAttribute
getLastChild
Выделите возможности, общие для парсеров SAX и StAX.
Выберите один или несколько ответов:
Парсеры можно использовать для анализа документов произвольного размера
Парсеры можно использовать для создания XML-документов
Парсеры делают элементы информационного набора доступными для приложений практически сразу
Реализуют pull-модель анализа XML-документов
Реализуют push-модель анализа XML-документов
Какой механизм реализует синхронизацию в Джава?
Выберите один ответ:
Блокировка монитора
Блокировка гонки
Критическая секция
Реализация мьютекса
Объект System.out представляет собой
Выберите один ответ:
стандартный поток ввода (клавиатура)
стандартный поток вывода (дисплей)
стандартный поток для вывода ошибок
стандартный поток для входа в систему
Если один процесс пишет в переменную, а другой читает из нее, то такое взаимодействие называется
Выберите один ответ:
разделяемыми переменными
пересылкой сообщений
производителем-потребителем
читателем-писателем
Когда возникает событие characters?
Выберите один ответ:
Когда SAX-парсер нашел начало документа
Когда SAX-парсер нашел некоторый текст
Когда SAX-парсер дошел до конца документа
Когда SAX-парсер нашел начальный тег, возвращает имя элемента, имена и значения атрибутов элемента и дает информацию о пространстве имен
Назовите проблемы синхронизации в параллельном программировании.
Выберите один или несколько ответов:
Голодание
Взаимная блокировка
Динамическая взаимоблокировка
Мьютекс
Интерфейс, который описывает сервис для запуска Runnable или Callable задач, – это
Выберите один ответ:
Executor
ExecutorService
ThreadPoolExecutor
Future
Какой член фреймворка блокировок предназначен для поддержки различных дисциплин блокировки, которые различаются семантикой?
Выберите один ответ:
Интерфейс Lock
Интерфейс ReadWriteLock
Интерфейс Condition
Интерфейс wait
Какой класс реализует символьный поток из строки?
Выберите один ответ:
StringReader
PushbackReader
InputStreamReader
FileReader
Выберите правильные утверждения.
Выберите один или несколько ответов:
Экземпляр Runnable соответствует потоку вычисления (thread)
Экземпляр Runnable соответствует потоку ввода-вывода (stream)
Потоки выполнения в Java могут иметь приоритет
Потоку с большим приоритетом отдается меньшее предпочтение, чем потоку с меньшим приоритетом
Потоки могут быть демонами
Под термином «вычислительный процесс» понимают
Выберите один ответ:
единицу вычислительной работы, представляющую собой запущенную операционной системой или виртуальной машиной программу
единицу вычислительной работы, имеющую собственный стек и представляющую собой поток команд
поименованную или иным образом идентифицированную часть компьютерной программы, содержащую описание определённого набора действий
последовательность этапов разработки программного обеспечения
В каких пакетах описаны классы и интерфейсы, реализующие технологию Java IO?
Выберите один или несколько ответов:
java.nio
java.util
java.lang
Выберите операции, между которыми в Java устанавливается отношение happens-before.
Выберите один или несколько ответов:
Запись-чтение в volatile-переменную
Чтение-запись в volatile-переменную
Все операции в завершающемся потоке А и операция А.join(), вызванная из потока В
Запись-чтение в Integer
Если метод класса объявлен как synchronized, то
Выберите один ответ:
метод выполняется в критической секции
метод является абстрактным
метод является окончательным
метод является перегруженным
Выберите код, который создает фабрику построителей документов DOM.
Выберите один ответ:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("example.xml");
Что выполняет метод markSupported(), определенный в потоках ввода-вывода?
Выберите один ответ:
Закрывает поток и освобождает системный ресурс
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Маркирует текущую позицию
Проверяет поддержку маркировки
Выберите код, соответствующий обработчику события «Начало элемента».
Выберите один ответ:
@Override
public void startDocument() {
System.out.println("startDocument()");
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) {
System.out.print("startElement() ");
System.out.print("uri=[" + uri + "], ");
System.out.print("localName=[" + localName + "], ");
System.out.println("qName=[" + qName + "]");
for (int i = 0; i < attributes.getLength(); i++)
System.out.println(" Attribute: " + attributes.getLocalName(i) +
", " + attributes.getValue(i));
System.out.println("Column number=[" + locator.getColumnNumber() +
"]");
System.out.println("Line number=[" + locator.getLineNumber() + "]");
}
@Override
public void startEntity(String name) {
System.out.print("startEntity() ");
System.out.println("name=[" + name + "]");
}
@Override
public void startPrefixMapping(String prefix, String uri) {
System.out.print("startPrefixMapping() ");
System.out.print("prefix=[" + prefix + "]");
System.out.println("uri=[" + uri + "]");
}
Какой метод интерфейса блокировки чтения ReadWriteLock получает блокировку, если вызывающий поток не будет прерван?
Выберите один ответ:
lock
lockInterruptibly
tryLock
unlock
Какой механизм синхронизации позволяет контролировать доступ к разделяемому ресурсу более чем одного потока?
Выберите один ответ:
Семафор
Взаимная блокировка
Монитор
Мьютекс
Как называется сохранение данных, например объектов, в памяти, на устройстве, которое может быть сохранено на постоянной основе?
Выберите один ответ:
Персистентность
Сериализация
Синхронность
Сохраняемость
Выберите правильные утверждения.
Выберите один или несколько ответов:
Объекты, массивы и статические поля всегда размещаются в куче
Объекты, массивы и статические поля не могут разделяться между потоками
Локальные переменные являются потокобезопасными
Фактические параметры методов не являются потокобезопасными
Каково назначение узла Document дерева DOM?
Выберите один ответ:
Представляет элемент XML в исходном документе
Представляет атрибут элемента XML
Представляет содержимое элемента
Представляет весь XML-документ
Когда возникает событие startElement?
Выберите один ответ:
Когда SAX-парсер нашел начало документа
Когда SAX-парсер нашел некоторый текст
Когда SAX-парсер дошел до конца документа
Когда SAX-парсер нашел начальный тег, возвращает имя элемента, имена и значения атрибутов элемента и дает информацию о пространстве имен
Какой метод класса Thread содержит код, выполняемый параллельно?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Что обеспечивают процессы и потоки?
Выберите один ответ:
Среду выполнения
Решение
Проблемы
Многопоточность
Назовите метод, проверяющий, существуют ли по указанному в конструкторе пути файл или каталог.
Выберите один ответ:
boolean createNewFile()
boolean isFile()
boolean isDirectory()
boolean exists()
Для проверки готовности результата асинхронных вычислений интерфейс Future объявляет метод
Выберите один ответ:
get()
isDone()
call()
run()
С помощью зарезервированного слова synchronized можно создавать
Выберите один или несколько ответов:
синхронизированные методы
синхронизированные блоки операторов
синхронизированные переменные
синхронизированные объекты
Что выполняет приведенный код?
String query = "SELECT * FROM order WHERE count > ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, 100);
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы order, у которых count больше 100
Создает запрос, выбирающий все записи из таблицы order
Создает запрос, выбирающий все записи из таблицы count, у которых WHERE больше 100
Создает запрос, выбирающий все записи из таблицы order, у которых count больше 1
Выберите правильное определение мьютекса.
Выберите один ответ:
Примитив синхронизации, обладающий двумя состояниями: занят и свободен
Примитив синхронизации, позволяющий предоставить доступ к ресурсу более чем одному потоку
Примитив синхронизации, включающий в себя охраняемый объект как абстракцию и определяющий набор операций, только с помощью которых можно обрабатывать охраняемый объект
Оператор синхронизации, реализующий механизм взаимного исключения
Какой интерфейс расширяет интерфейс Statement и представляет предварительно скомпилированный оператор SQL?
Выберите один ответ:
DriverManager
PreparedStatement
Statement
ResultSet
---
ПРОМЕЖУТОЧНЫЕ ТЕСТЫ 1-3
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
К методам выходных потоков не относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Что представляют собой буферизованные потоки?
Выберите один ответ:
Расширение классов фильтруемых потоков
Одну единицу исполнения кода
Потоки, которые каждую секунду прибавляют или вычитают единицы из значения статической переменной Program.mValue
Абстракции, используемые только для чтения
Для чего используется OutputStream?
Выберите один ответ:
Для считывания данных с источника
Для записи данных по месту назначения
Для считывания данных по месту назначения
Для записи данных на источники
Дан код. Какое действие описывает код?
Выберите один ответ:
Запись текста в файл
Чтение текста из файла
Считывание в промежуточный буфер из массива символов
Запись в промежуточный буфер из массива символов
Что представляет собой класс Writer?
Выберите один ответ:
Абстрактный класс, описывающий символьный ввод
Абстрактный класс, описывающий символьный вывод
Абстрактный класс, определяющий потоковый байтовый вывод
Абстрактный класс, определяющий потоковый байтовый ввод
Классы, производные от классов OutputStream или Write, имеют методы с именами … для записи одиночных байтов или массива байтов.
Выберите один ответ:
read()
write()
print()
println()
Что может быть источником в работе InputStream для представления классов, которые производят ввод?
Выберите один или несколько ответов:
Массив байтов
Каталог
Объект Integer
Internet-соединение
Чтобы выполнить запись в файл, необходимо сконструировать объект
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
К методам входных потоков не относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Для создания объектов класса File можно использовать следующие конструкторы (2 варианта ответа):
Выберите один или несколько ответов:
File(File dir, String name)
File(String path)
File(String dir, String name)
File(uri)
Выберите начальный символ спецификации преобразования.
Выберите один ответ:
%
/
.
s
К методам входных потоков относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Для чего используется класс InputStream?
Выберите один ответ:
Для считывания данных с источника
Для записи данных по месту назначения
Для считывания данных по месту назначения
Для записи данных на источники
К методам выходных потоков относят
Выберите один или несколько ответов:
ready()
read()
flush()
write()
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Объект System.err представляет собой
Выберите один ответ:
стандартный поток ввода (клавиатура)
стандартный поток вывода (дисплей)
стандартный поток для вывода ошибок
стандартный поток для входа в систему
С помощью какого метода можно просмотреть содержимое каталога?
Выберите один ответ:
list
mkdir
mkdirs
accept
Какой класс позволяет вставлять символы обратно в поток?
Выберите один ответ:
FilterReader
PushbackReader
LineNumberReader
CharArrayReader
Какой класс является родительским для входных символьных потоков?
Выберите один ответ:
Reader
Writer
BufferedWriter
CharArrayReader
Какой поток ввода-вывода описывает класс Reader?
Выберите один ответ:
Входной символьный
Выходной символьный
Входной байтовый
Выходной байтовый
Для чтения данных из файла необходимо сконструировать объект … из объекта File.
Выберите один ответ:
Scanner
PrintWriter
FileWriter
FileOutputStream
Управляющие потоком классы
Выберите один или несколько ответов:
получают в своих конструкторах уже имеющийся поток
создают новый, преобразованный поток
преобразовывают входной байтовый поток в выходной символьный поток
преобразовывают выходной символьный поток во входной байтовый поток
Какой класс описывает буферизированный входной символьный поток?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
С какими типами файлов работает язык программирования Java?
Выберите один или несколько ответов:
С условными
С безусловными
Последовательного доступа
Произвольного доступа
Выберите ложные утверждения.
Выберите один или несколько ответов:
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса InputStream и поэтому реализует все его методы
Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи
Для создания объекта FileInputStream нельзя использовать несколько конструкторов
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса File и поэтому реализует все его методы
Какой класс реализует символьный поток из строки?
Выберите один ответ:
StringReader
StringWriter
PtintWriter
FileReader
Какой класс предназначен для буферизованного чтения массива символов?
Выберите один ответ:
Reader
BufferedReader
LineNumberReader
CharArrayReader
Какой класс является родительским для иерархии классов выходных символьных потоков?
Выберите один ответ:
Writer
BufferedWriter
Reader
BufferedReader
Соотнесите термины и их значение.
Reader
Выберите...
Входной байтовый поток
Выходной символьный поток
Входной символьный поток
Выходной байтовый поток
InputStream
Выберите...
Входной байтовый поток
Выходной символьный поток
Входной символьный поток
Выходной байтовый поток
OutputStream
Выберите...
Входной байтовый поток
Выходной символьный поток
Входной символьный поток
Выходной байтовый поток
Writer
Выберите...
Входной байтовый поток
Выходной символьный поток
Входной символьный поток
Выходной байтовый поток
Приведен фрагмент кода. Какое действие будет произведено посредством данного фрагмента?
Выберите один ответ:
Прочтение данных из файла
Запись в файл
Интерпретирует строку как данные, а не как имя файла
Определение расположения стартового каталога
Какой английский термин соответствует понятию «поток ввода-вывода»?
Выберите один ответ:
stream
thread
pipe
process
Какой поток ввода-вывода описывает класс InputStream?
Выберите один ответ:
Входной символьный
Выходной символьный
Входной байтовый
Выходной байтовый
С какими типами файлов работает язык программирования Java?
Выберите один или несколько ответов:
С типизированными
С нетипизированными
С условными
Параллельного доступа
Что представляет собой поток (Stream)?
Выберите один ответ:
Абстрактное значение источника или приёмника данных, которые способны обрабатывать информацию
Файл или каталог, которые можно использовать для создания объекта
Абстракция, используемая только для чтения
Абстракция, используемая только для записи файлов
Выберите верные утверждения.
Выберите один или несколько ответов:
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса InputStream и поэтому реализует все его методы
Для создания объекта FileOutputStream используется конструктор, принимающий в качестве параметра путь к файлу для записи
Для создания объекта FileInputStream нельзя использовать несколько конструкторов
Для считывания данных из файла предназначен класс FileInputStream, который является наследником класса File и поэтому реализует все его методы
С помощью какого оператора можно организовать работу с потоками ввода-вывода, при которой поток безопасно АВТОМАТИЧЕСКИ закрывается?
Выберите один ответ:
try with resource
try ... cath
case
foreach
Сопоставьте название метода потока ввода-вывода и его назначение.
mark()
Выберите...
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Маркирует текущую позицию
Пропускает заданное количество символов или байтов во входном потоке
availiable()
Выберите...
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Маркирует текущую позицию
Пропускает заданное количество символов или байтов во входном потоке
markSupported()
Выберите...
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Маркирует текущую позицию
Пропускает заданное количество символов или байтов во входном потоке
skip()
Выберите...
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Маркирует текущую позицию
Пропускает заданное количество символов или байтов во входном потоке
Что выполняет метод reset(), определенный в потоках ввода-вывода?
Выберите один ответ:
Проверяет готовность потока
Закрывает поток и освобождает системный ресурс
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Выберите задачи, которые могут решаться с применением классов и интерфейсов, входящих в технологию Java IO.
Выберите один или несколько ответов:
Работа с файлами
Чтение-запись в/из массивов
Организация вычислительных потоков (threads)
Блокировка вычислительных нитей на условной переменной
Какой класс реализует мост между символьным и байтовым выходным потоками?
Выберите один ответ:
OutputStreamWriter
InputStreamReader
FilterWriter
FilterReader
Сопоставьте наименование потока ввода-вывода и его назначение.
PushbackInputStream
Выберите...
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
Служит для организации чтения байтов из одной вычислительной нити в другую
PipedInputStream
Выберите...
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
Служит для организации чтения байтов из одной вычислительной нити в другую
SequenceInputStream
Выберите...
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
Служит для организации чтения байтов из одной вычислительной нити в другую
ObjectInputStream
Выберите...
Позволяет вернуть байт в поток или не читать уже считанные байты
Считывает бинарное представление объекта, выполняя десериализацию объекта
Позволяет считывать байты из последовательности потоков, сначала из первого, потом из второго
Служит для организации чтения байтов из одной вычислительной нити в другую
Какой класс преобразует объект в символьный поток?
Выберите один ответ:
OutputStreamWriter
StringWriter
PrintWriter
CharArrayWriter
Какой метод возвращает количество байтов, которое может быть считано или пропущено в байтовом потоке ввода-вывода?
Выберите один ответ:
skip()
mark()
markSupported()
availiable()
Какой класс записывает символы в массив?
Выберите один ответ:
Writer
BufferedWriter
FilterWriter
CharArrayWriter
Какой метод закрывает поток, освобождая заблокированный ресурс?
Выберите один ответ:
ready()
close()
reset()
skip()
Сопоставьте наименование потока ввода-вывода и его назначение.
CharArrayReader
Выберите...
Абстрактный класс для чтения символов с возможностью их фильтрации или замены
Предназначен для буферизованного чтения массива символов
Класс, реализующий возможность вставлять символы обратно в поток
Реализует буферизованный ввод строк символов, который отслеживает номера строк
LineNumberReader
Выберите...
Абстрактный класс для чтения символов с возможностью их фильтрации или замены
Предназначен для буферизованного чтения массива символов
Класс, реализующий возможность вставлять символы обратно в поток
Реализует буферизованный ввод строк символов, который отслеживает номера строк
PushbackReader
Выберите...
Абстрактный класс для чтения символов с возможностью их фильтрации или замены
Предназначен для буферизованного чтения массива символов
Класс, реализующий возможность вставлять символы обратно в поток
Реализует буферизованный ввод строк символов, который отслеживает номера строк
FilterReader
Выберите...
Абстрактный класс для чтения символов с возможностью их фильтрации или замены
Предназначен для буферизованного чтения массива символов
Класс, реализующий возможность вставлять символы обратно в поток
Реализует буферизованный ввод строк символов, который отслеживает номера строк
Выберите назначение класса FileDescriptor.
Выберите один ответ:
Представляет путь к файлу в платформенно-независимом виде, а также служит для получения информации о файле или каталоге
Создает платформенно-независимый дескриптор, представляющий открытый файл, сокет или другой источник или приемник байтов
Реализует чтение и запись в файл с произвольным доступом
Разбирает входной символьный поток на лексемы
Сопоставьте наименование потока ввода-вывода и его назначение.
PrintStream
Выберите...
Служит для организации передачи байтов из одной вычислительной нити в другую
Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
Позволяет записывать примитивные типы данных Java в выходной поток
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
DataOutputStream
Выберите...
Служит для организации передачи байтов из одной вычислительной нити в другую
Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
Позволяет записывать примитивные типы данных Java в выходной поток
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
ObjectOutputStream
Выберите...
Служит для организации передачи байтов из одной вычислительной нити в другую
Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
Позволяет записывать примитивные типы данных Java в выходной поток
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
PipedOutputStream
Выберите...
Служит для организации передачи байтов из одной вычислительной нити в другую
Выполняет сериализацию примитивов, объектов и графов объектов, записывая их бинарное представление
Позволяет записывать примитивные типы данных Java в выходной поток
Используется как обертка, добавляя функциональность другому потоку вывода, а именно – возможность удобно печатать представления различных значений данных
Что выполняет метод availiable(), определенный в потоках ввода-вывода?
Выберите один ответ:
Устанавливает текущую позицию в начало потока или маркированную позицию
Пропускает заданное количество символов или байтов во входном потоке
Маркирует текущую позицию
Проверяет поддержку маркировки
Возвращает количество байтов, которое может быть считано или пропущено во входных байтовых потоках
Сопоставьте наименование потока ввода-вывода и его назначение.
OutputStreamWriter
Выберите...
Записывает символы в массив
Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
Реализует мост между символьным и байтовым выходным потоками
Передает символы в поток, выполняя буферизацию
CharArrayWriter
Выберите...
Записывает символы в массив
Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
Реализует мост между символьным и байтовым выходным потоками
Передает символы в поток, выполняя буферизацию
FilterWriter
Выберите...
Записывает символы в массив
Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
Реализует мост между символьным и байтовым выходным потоками
Передает символы в поток, выполняя буферизацию
BufferedWriter
Выберите...
Записывает символы в массив
Абстрактный класс, определяющий методы записи символов с возможностью их фильтрации или замены
Реализует мост между символьным и байтовым выходным потоками
Передает символы в поток, выполняя буферизацию
Сопоставьте наименование потока ввода-вывода и его назначение.
InputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Создает байтовый поток, который считывается из файла
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Производит считывание в поток массива байтов
ByteArrayInputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Создает байтовый поток, который считывается из файла
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Производит считывание в поток массива байтов
FileInputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Создает байтовый поток, который считывается из файла
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Производит считывание в поток массива байтов
OutputStream
Выберите...
Абстрактный класс, являющийся родительским для иерархии входных байтовых потоков
Создает байтовый поток, который считывается из файла
Абстрактный класс, являющийся родительским для иерархии выходных байтовых потоков
Производит считывание в поток массива байтов
Что выполняет данный код?
catch (FileNotFoundException e) {
System.err.println("FIle not found");
} catch (IOException e) {
System.err.println("File closing problems ");
}
Выберите один ответ:
Переписывает содержимое файла in.txt в файл out.txt, используя символьные потоки
Переписывает содержимое файла out.txt в файл in.txt, используя символьные потоки
Переписывает содержимое файла in.txt в файл out.txt, используя байтовые потоки
Произойдет ошибка компиляции
---
ПРОМЕЖУТОЧНЫЕ ТЕСТЫ 4-6
Единица вычислительной работы, имеющая собственный стек и представляющая собой поток команд, называется
Выберите один или несколько ответов:
потоком
процессом
thread
stream
Выберите правильные утверждения.
Выберите один или несколько ответов:
В потоке как минимум один процесс
В процессе как минимум один поток
В процессе может быть несколько потоков
В процессе ровно один поток
Если в программе запланировано несколько потоков выполнения, то она называется
Выберите один ответ:
последовательной
параллельной
рекуррентной
многопользовательской
Выберите правильные утверждения.
Выберите один или несколько ответов:
Потоки выполнения в Java могут иметь приоритет
Потоки выполнения в Java не имеют приоритета
Потоку с большим приоритетом отдается большее предпочтение, чем потоку с меньшим приоритетом
Потоки не могут быть демонами
Как можно создать поток?
Выберите один или несколько ответов:
Через реализацию интерфейса Runnable
Через наследование от класса Thread
Через реализацию интерфейса Thread
Через наследование от класса System
Какие потоки называют потоками-демонами?
Выберите один ответ:
Поток-демон не связан с потоком, его создавшим. После завершения потока main поток-демон продолжает работать
Потоки-демоны – это потоки, имеющие статический метод
Поток-демон тесно связан с потоком, его создавшим. После завершения потока main поток-демон продолжает работать
Поток-демон тесно связан с потоком, его создавшим. После завершения потока main поток-демон уничтожается
Если для реализации взаимодействия один процесс посылает другому сообщение, то такое взаимодействие называется
Выберите один ответ:
разделяемыми переменными
пересылкой сообщений
электронной почтой
очередью сообщений
Если метод класса необходимо выполнить в критической секции, то он объявляется через ключевое слово
Выберите один ответ:
synchronized
sync
parallel
absrtract
Выберите правильный фрагмент кода для определения метода класса, выполняемого в критической секции.
Выберите один ответ:
synchronized (this) {};
synchronized lock1 {};
synchronized void foo() {};
void synchronized foo() {};
Что необходимо для программирования взаимодействия процессов?
Выберите один ответ:
Синхронизация вычислительных процессов
Среда разработки
Компилятор
Оркестровка BPMN-процессов
Вычислительные потоки в Java
Выберите один ответ:
реализуются как экземпляры класса Thread
реализуются как экземпляры класса System
реализуются как экземпляры класса Process
реализуются как экземпляры класса Runnable
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Loks
I/O Sreams
Monitors
Выберите правильные утверждения.
Выберите один или несколько ответов:
Данные обработчика ошибок являются потокобезопасными
Локальные переменные всегда размещаются в куче
Фактические параметры методов всегда размещаются в стеке
Данные обработчика ошибок всегда размещаются в куче
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Concurrent Collections
Loks
Threads
Happens before
Выберите правильный фрагмент кода для определения оператора, выполняемого в критической секции.
Выберите один или несколько ответов:
synchronized (this) {};
synchronized (lock1) {};
synchronized void foo() {};
void synchronized foo() {};
Выберите правильные утверждения.
Выберите один или несколько ответов:
Объекты, массивы и статические поля всегда размещаются в куче
Объекты, массивы и статические поля могут разделяться между потоками
Локальные переменные не являются потокобезопасными
Фактические параметры методов не являются потокобезопасными
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Synchronizers
Concurrent Collections
I/O Sreams
Runnable
Для реализации условной синхронизации в Java применяется
Выберите один ответ:
ключевое слово synchronized
ключевое слово volatile
связка методов wait(), notify()
связка методов waitAll(), notify()
Метод notify() используется
Выберите один ответ:
для остановки процесса на мониторе класса
для остановки процесса на барьере
для запуска одного ожидаемого на мониторе процесса
для программирования активного ожидания
Какие элементы входят в java concurrency utilities?
Выберите один или несколько ответов:
Executors
Synchronizers
Threads
Runnable
Классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер, – это
Выберите один ответ:
Executors
Synchronizers
Queues
Concurrent Collections
Queues – это
Выберите один ответ:
классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов для поддержки lock-free программирования с атомарными переменными
Concurrent Collections – это
Выберите один ответ:
классы, реализующие основные идиомы многопоточности, такие как семафор, циклический барьер
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов и интерфейсов, образующих фреймворк блокировок и ожидания условных переменных
Atomic – это
Выберите один ответ:
неблокирующие и блокирующие очереди с поддержкой многопоточности, вошедшие в состав java concurrency utilities
набор коллекций, разработанный для более эффективной работы в многопоточной среде, в сравнении со стандартными коллекциями java.util
набор классов и интерфейсов, образующих фреймворк блокировок и ожидания условных переменных
набор классов для поддержки lock-free программирования с атомарными переменными
Выберите правильные утверждения.
Выберите один или несколько ответов:
Интерфейс Future может использоваться для представления результата вычислений другим потоком
Интерфейс Future может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Интерфейс Callable может использоваться для представления результата вычислений другим потоком
Интерфейс Callable может использоваться для представления информации о наличии ошибок при расчете результата другим потоком
Интерфейс Callable объявляет метод
Выберите один ответ:
run()
call()
start()
join()
Набор классов для поддержки lock-free программирования с атомарными переменными – это
Выберите один ответ:
Queues
Concurrent Collections
Loks
Atomic
Выберите правильное утверждение.
Выберите один или несколько ответов:
В последовательной программе – один поток выполнения
В параллельной программе – несколько потоков выполнения
Программа становится параллельной при использовании ветвлений
В параллельной программе – один поток выполнения
Что выполняет метод yield() класса Thread?
Выберите один ответ:
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Дает указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку
Для получения результатов асинхронных вычислений интерфейс Future объявляет метод
Выберите один ответ:
get()
isDone()
call()
return()
Метод Future.isDone() используется
Выберите один ответ:
для получения результатов асинхронных вычислений
для проверки готовности результата асинхронных вычислений
для получения результатов синхронных вычислений
для проверки готовности результата синхронных вычислений
Для программирования многопоточной задачи, способной возвращать результат, применяется
Выберите один ответ:
интерфейс Callable
класс Callable
класс Thread
интерфейс Runable
Что выполняет метод run() класса Thread?
Выберите один ответ:
Поток, вызвавший данный метод у второго потока, будет ожидать его завершения
Содержит код, запускаемый параллельно
Переводит поток в сон
Дает указание JVM на запуск вычислительного потока на выполнение
Выберите правильные утверждения.
Выберите один ответ:
Executors имеют механизм получения данных из потоков
Executors не имеют механизма получения данных из потоков
Executors позволяют определить готовность результата асинхронных вычислений в потоке
Executors позволяют определить готовность результата синхронных вычислений в потоке
---
ПРОМЕЖУТОЧНЫЕ ТЕСТЫ 7-9
Какая ситуация в параллельном программировании соответствует понятию «гонка/Race»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Если два или более вычислительных потока ожидают освобождения общего ресурса, то такая ситуация носит название
Выберите один ответ:
«Гонки» (Race)
«Взаимная блокировка» (Dead Lock)
«Динамическая взаимоблокировка» (Live Lock)
«Голодание» (Starvation)
Какой примитив синхронизации реализован в языке программирования Java?
Выберите один ответ:
Мьютекс
Семафор
Монитор
Указатель
Если все изменения, выполненные первым потоком до момента операции A, и изменения, которые повлекла эта операция, видны второму потоку в момент выполнения операции B и после выполнения этой операции, то отношение между операциями А и В называется
Выберите один ответ:
A happens-before B
В happens-before А
А эквивалентна В
A happens-after B
Какой метод класса Thread указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Как называется ситуация, когда операции, не являющиеся неделимыми, выполняемые в разных потоках, но воздействующие на одни и те же данные, чередуются?
Выберите один ответ:
Интерференция потоков
Взаимная блокировка
Синхронизация потоков
Голодание
Что выполняет приведенный фрагмент кода?
try {
Thread.sleep((1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
Выберите один ответ:
Приостанавливает текущий вычислительный процесс на 1 секунду
Приостанавливает текущий вычислительный процесс на 1000 секунд
Присоединяет текущий процесс ко второму
Дает указание планировщику потоков на готовность потока «уступить» свое время выполнения другому потоку
Выберите правильные последовательности применения методов wait() и notify()/notifyAll().
Выберите один или несколько ответов:
wait() – notify()
wait() – notifyAll()
notify() – wait()
notify() – notifyAll()
Какая ситуация в параллельном программировании соответствует понятию «динамическая блокировка / Live Lock»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Какая ситуация в параллельном программировании соответствует понятию «голодание/Starvation»?
Выберите один ответ:
Несколько потоков одновременно пишут в разделяемую переменную
Два или более вычислительных потока ожидают освобождения общего ресурса
Два или более вычислительных потока меняют свое состояние из-за других потоков, не выполняя при этом полезной работы
Один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс
Отношение happens-before используется
Выберите один ответ:
для предотвращения ошибок согласованности памяти
для предотвращения ошибок чтения-записи
для реализации задачи «Писатели-читатели»
для создания критических секций
Если один или несколько вычислительных потоков никак не могут получить запрашиваемый ресурс, то такая ситуация носит название
Выберите один ответ:
«Гонки» (Race)
«Взаимная блокировка» (Dead Lock)
«Динамическая взаимоблокировка» (Live Lock)
«Голодание» (Starvation)
Какие операции на Java не требуют синхронизации?
Выберите один или несколько ответов:
Чтение-запись значения int
Чтение-запись значения float
Инкремент
Чтение-запись long
Чтение-запись double
Какой метод класса Thread переводит текущий поток в режим сна?
Выберите один ответ:
join()
run()
start()
sleep()
yield()
Что выполняет приведенный код?
String query = "UPDATE student SET group = ? WHERE group = ?" ;
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setString(1, oldGroup);
stmt.setString(2, newGroup);
stmt.executeUpdate();
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из заданной группы
Создает запрос, выбирающий все записи из таблицы student
Код вызовет ошибку компиляции
Создает запрос, изменяющий группу oldGroup студентов на новую группу newGroup
Создает запрос, изменяющий у всех студентов группу на новую – newGroup
Драйвер JDBC какого типа напрямую подключается к источнику данных?
Выберите один ответ:
1
2
3
4
Выберите код, который выбирает все записи из таблицы order, у которых значение поля count больше определенного значения.
Выберите один ответ:
String query = "SELECT * FROM order";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
String query = "SELECT * RFOM order WHERE count > ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
ResultSet rs = stmt.executeQuery();
String query = "UPDATE order SET price = price * ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setFloat(1, ratio);
stmt.executeUpdate();
String query = "SELECT * RFOM order WHERE ((count > ?) AND (data > ?))";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
stmt.setData(2, dataFrom);
ResultSet rs = stmt.executeQuery();
Что выполняет приведенный код?
String query = "UPDATE order SET price = price * ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setFloat(1, 1.1);
stmt.executeUpdate();
}
Выберите один или несколько ответов:
Создает запрос, увеличивающий значение поля price в 1,1 раза у всех записей в таблице order
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, увеличивающий значение поля price на 10 % у всех записей в таблице order
Какой интерфейс расширяет PreparedStatement и используется для выполнения хранимых процедур?
Выберите один ответ:
CallableStatement
PreparedStatement
Statement
ResultSet
Сколько типов драйверов существует в JDBC?
Выберите один ответ:
2
3
4
Сколь угодно много
Выберите код, который удаляет записи из таблицы order с использованием непараметризированного запроса.
Выберите один ответ:
String query = "SELECT * FROM order";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
String query = "SELECT * RFOM order WHERE count > ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, minCount);
ResultSet rs = stmt.executeQuery();
String query = "UPDATE order SET price = price * ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setFloat(1, ratio);
stmt.executeUpdate();
String query = "DELETE FROM order WHERE id=1";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
String query = "DELETE FROM order WHERE id = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setLong(1, id);
stmt.executeUpdate();
}
Что выполняет приведенный код?
String query = "SELECT ? FROM student";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из определенной группы
Создает запрос, выбирающий все записи из таблицы student
Код выдаст ошибку компиляции
Код выдаст ошибку времени выполнения
Что выполняет приведенный код?
String query = "DELETE FROM order WHERE id = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setLong(1, id);
stmt.executeUpdate();
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, удаляющий записи из таблицы order с использованием параметризированного запроса
Создает запрос, удаляющий записи из таблицы order с использованием непараметризированного запроса
Что выполняет приведенный код?
public void insertStudent(String fName, String lName, String group) throws SQLException {
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, fName);
stmt.setString(2, lName);
stmt.setString(3, group);
stmt.executeQuery();
}
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы student
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу student с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу student с использованием непараметризированного запроса
Что выполняет приведенный код?
String query = "INSERT INTO order VALUES (100, 'D1234', 12)";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу order с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу order с использованием непараметризированного запроса
Какие классы и интерфейсы относятся непосредственно к технологии JDBC?
Выберите один или несколько ответов:
Connection
CallableStatement
Stateless
JDBCInputStream
JDBC – это
Выберите один ответ:
технология платформы Java SE для работы с реляционными базами данных
технология платформы Java SE для работы с NoSQL базами данных
технология платформы Java EE для работы с реляционными базами данных
технология корпорации Microsoft для работы с реляционными базами данных
Что выполняет приведенный код?
public void insertStudent(String fName, String lName, String group) throws SQLException {
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.prepareStatement(query)) {
stmt.setString(1, fName);
stmt.setString(2, lName);
stmt.setString(3, group);
stmt.executeUpdate();
}
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы student
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу student с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу student с использованием непараметризированного запроса
Что выполняет приведенный код?
public void testUpdate (String oldGroup, String newGroup) throws SQLException {
String query = "UPDATE student SET group = ? WHERE group = ?" ;
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, oldGroup);
stmt.setString(3, newGroup);
stmt.executeQuery();
}
}
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из заданной группы
Код вызовет ошибку времени выполнения
Код вызовет ошибку компиляции
Создает запрос, изменяющий группу oldGroup студентов на новую группу newGroup
Создает запрос, изменяющий у всех студентов группу на новую – newGroup
Сопоставьте класс/интерфейс и его назначение.
Connection
Выберите...
Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
Используется для выполнения статического оператора SQL и возврата полученных результатов
Определяет характеристики и состояние соединения с БД
Обеспечивает загрузку драйверов и создание новых соединений с базой данных
DriverManager
Выберите...
Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
Используется для выполнения статического оператора SQL и возврата полученных результатов
Определяет характеристики и состояние соединения с БД
Обеспечивает загрузку драйверов и создание новых соединений с базой данных
Statement
Выберите...
Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
Используется для выполнения статического оператора SQL и возврата полученных результатов
Определяет характеристики и состояние соединения с БД
Обеспечивает загрузку драйверов и создание новых соединений с базой данных
ResultSet
Выберите...
Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
Используется для выполнения статического оператора SQL и возврата полученных результатов
Определяет характеристики и состояние соединения с БД
Обеспечивает загрузку драйверов и создание новых соединений с базой данных
· Предоставляет доступ к набору записей, полученному в результате выполнения данного SQL-выражения
· Используется для выполнения статического оператора SQL и возврата полученных результатов
· Определяет характеристики и состояние соединения с БД
· Обеспечивает загрузку драйверов и создание новых соединений с базой данных
Что выполняет приведенный код?
String query = "INSERT INTO order VALUES (?, ?, ?)";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setLong(1, id);
stmt.setString(2, number);
stmt.setLong(3, count);
stmt.executeUpdate();
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, вставляющий записи в таблицу order с использованием параметризированного запроса
Создает запрос, вставляющий записи в таблицу order с использованием непараметризированного запроса
Что выполняет приведенный код?
String query = "UPDATE order SET price = price * ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.createStatement(query);) {
stmt.setFloat(1, ratio);
stmt.executeUpdate();
}
Выберите один ответ:
Код вызовет ошибку времени выполнения
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, увеличивающий значение поля price в ratio раз у всех записей в таблице order
SQL-запрос задан строкой
String query = "UPDATE order SET price = price * ?";
Какой класс/интерфейс необходимо использовать для запуска запроса?
Выберите один ответ:
Statement
PreparedStatement
CallableStatement
Connection
Выберите код, который удаляет студента с заданным идентификатором.
Выберите один ответ:
String query = "SELECT * FROM student";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
String query = "SELECT * FROM student WHERE group = ?";
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, group);
ResultSet rs = stmt.executeQuery();
...
String query = "UPDATE student SET group = ? WHERE group = ?" ;
try (Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);) {
stmt.setString(1, oldGroup);
stmt.setString(2, newGroup);
stmt.executeUpdate();
...
String query = "DELETE FROM student WHERE id=101";
try (Connection conn = DBConnector.getConnection();
Statement stmt = conn.createStatement()) {
stmt.execute(query);
...
Что выполняет приведенный код?
String query = "SELECT * FROM order";
Connection conn = DBConnector.getConnection();
Statement stmt = conn.prepareStatement();
ResultSet rs = stmt.executeQuery(query);
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы order, у которых count больше 100
Создает запрос, выбирающий все записи из таблицы order
Код вызовет ошибку компиляции
Создает запрос, выбирающий все записи из таблицы order, у которых count больше 1
Какой класс обеспечивает загрузку драйверов и создание новых соединений с базой данных?
Выберите один ответ:
DriverManager
Connection
Statement
ResultSet
Что выполняет приведенный код?
String query = "SELECT ? FROM student WHERE group = ?";
Connection conn = DBConnector.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setString(1, group);
ResultSet rs = stmt.executeQuery();
Выберите один ответ:
Создает запрос, выбирающий все записи из таблицы student из определенной группы
Создает запрос, выбирающий все записи из таблицы student
Код даст ошибку компиляции
Код даст ошибку времени выполнения
Установите соответствие между типами драйверов JDBC.
Драйверы этого типа реализуют JDBC API как связку с другим API доступа к данным
Выберите...
3
2
1
4
Драйверы этого типа частично написаны на языке программирования Java и частично в нативном коде. Эти драйверы используют собственную клиентскую библиотеку, специфичную для источника данных, к которому они подключаются
Выберите...
3
2
1
4
Драйверы этого типа используют чистый Java-клиент и взаимодействуют с промежуточным программным обеспечением с помощью протокола, независимого от базы данных
Выберите...
3
2
1
4
Драйверы этого типа написаны на Java и реализуют сетевой протокол для определенного источника данных. Клиент подключается напрямую к источнику данных
Выберите...
3
2
1
4
· 3
· 2
· 1
· 4
Для чего используются пространства имен в XML?
Выберите один ответ:
Для описания структуры XML-документа
Для описания содержания XML-документа
Для устранения конфликтов имен тегов
Для загрузки XML-документа по указанному в схеме адресу
Какие существуют схемы описания XML-документов?
Выберите один или несколько ответов:
DTD – Document Type Declaration
XSD – XML Schema Definition Language
DOM – Document Object Model
SAX – Simple API for XML
Что такое JAXP (JAVA API for XML Parsing)?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Каково назначение узла Element дерева DOM?
Выберите один ответ:
Представляет элемент XML в исходном документе
Представляет атрибут элемента XML
Представляет содержимое элемента
Представляет весь XML-документ
Что возвращает метод getDocumentElement?
Выберите один ответ:
Корень дерева DOM
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Когда возникает событие endElement?
Выберите один ответ:
Когда SAX-парсер нашел конечный тег
Когда SAX-парсер нашел некоторый текст
Когда SAX-парсер дошел до конца документа
Когда SAX-парсер нашел начальный тег, возвращает имя элемента, имена и значения атрибутов элемента и дает информацию о пространстве имен
Что выполняет следующий код?
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
Выберите один ответ:
Создается фабрика построителей DOM-документов
Создается фабрика DOM-документов
Создается DOM-документ
Построителю DOM-документов дается указание об использовании пространства имен
Выберите корректные для обработки XML-документов утверждения.
Выберите один или несколько ответов:
Документ XML представляет собой древовидную структуру тегов
В документе XML должен быть корневой тег
Документ XML представляет собой произвольную структуру элементов
Элементы, из которых состоит XML-документ, образуют бинарное дерево
Что такое SAX – Simple API for XML?
Выберите один ответ:
Программный интерфейс для работы с XML
Схема описания XML-документа
Вид XML-документа
Стандартизированное расширение XML
Какой узел дерева DOM представляет весь XML-документ?
Выберите один ответ:
Element
Attr
Text
Document
Какое событие DOM-парсера возвращает последнего потомка данного узла?
Выберите один ответ:
getDocumentElement
getFirstChild
getNextSibling
getAttribute
getLastChild
Какие особенности характерны для SAX-парсера?
Выберите один или несколько ответов:
SAX-парсер не строит в памяти дерево XML-документа
SAX-парсер не создает никаких объектов
SAX-парсер строит в памяти дерево XML-документа
SAX-парсер начинает посылать события после прохода всего документа
Какие парсеры можно использовать для анализа XML-документов произвольного типа (с точки зрения ограничения памяти)?
Выберите один или несколько ответов:
SAX
DOM
StAX
JSON
Выделите утверждения, которые являются правилами при разработке XML-документов.
Выберите один или несколько ответов:
Элементы не могут перекрываться
Элементы могут перекрываться
Элементы чувствительны к регистру
Элементы не чувствительны к регистру
Если XML-документ полностью удовлетворяет всем правилам XML-форматирования, то такой документ называется
Выберите один ответ:
правильно форматированным – Well-Formed Document
правильным – Valid Document
неправильным – not Valid Document
связанным – Binded Document
Когда возникает событие startDocument?
Выберите один ответ:
Когда SAX-парсер нашел начало документа
Когда DOM-парсер нашел начало документа
Когда SAX-парсер дошел до конца документа
Когда SAX-парсер нашел начальный тег, возвращает имя элемента, имена и значения атрибутов элемента и дает информацию о пространстве имен
Выберите корректные для обработки XML-документов утверждения.
Выберите один или несколько ответов:
Тег XML заключается в угловые скобки <>
Тег XML заключается в двойные кавычки " "
Существуют открывающие и закрывающие теги
Существуют правильные и неправильные теги
Язык расширяемой разметки, позволяющий представлять структурированный текст в виде дерева тегов, – это
Выберите один ответ:
XML
HTML
UML
ML
Какие из приведенных документов являются правильными?
Выберите один или несколько ответов:
<?xml version="1.0" encoding="UTF-8"?>
<!-- this is comment -->
<items>
<item>
<name>Java</name>
<subject>Programming</subject>
</item>
</items>
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<name>Java</name>
<!-- this is comment -->
<subject>Programming</subject>
</item>
</items>
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<name>Java</name>
<subject>Programming</subject>
</items>
</item>
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
</name>Java<name>
<subject>Programming</subject>
</item>
</items>
Выделите утверждения, которые являются правилами при разработке XML-документов.
Выберите один или несколько ответов:
Атрибуты должны иметь значения в кавычках " "
Атрибуты должны иметь значения в угловых скобках <>
Атрибуты должны иметь значения
Атрибуты не должны иметь значения
Какое событие возникает, если парсер нашел конечный тег?
Выберите один ответ:
startDocument
endDocument
startElement
characters
endElement
Что возвращает метод getLastChild?
Выберите один ответ:
Корень дерева DOM
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Выберите код, который создает новый построитель DOM-документов.
Выберите один ответ:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("example.xml");
Что возвращает метод getAttribute?
Выберите один ответ:
Значение атрибута с указанным именем
Первого потомка данного узла
Последнего потомка данного узла
Следующий равный по уровню узел
Предыдущий равный по уровню узел
Какие действия выполняет следующий код SAX-парсера?
public void startElement(String uri, String localName, String qName,
Attributes attributes)
{
System.out.print("startElement() ");
System.out.print("uri=[" + uri + "], ");
System.out.print("localName=[" + localName + "], ");
System.out.println("qName=[" + qName + "]");
for (int i = 0; i < attributes.getLength(); i++)
System.out.println(" Attribute: " + attributes.getLocalName(i) +
", " + attributes.getValue(i));
System.out.println("Column number=[" + locator.getColumnNumber() +
"]");
System.out.println("Line number=[" + locator.getLineNumber() + "]");
}
Выберите один ответ:
Выводит найденный текст элемента на стандартную консоль
Выводит информацию о начале XML-документа
Выводит содержимое комментария
Выводит информацию о найденном элементе
Выводит информацию о завершении элемента