Javazavr. Обучение Java.
4.2K subscribers
36 photos
55 links
Главный канал по Java.

Контент на любой вкус.
1. Туториалы
2. Видео
3. Задачи
4. Тесты
И многое другое.

Реклама: @anothertechrock
Download Telegram
#вопросы_с_собеседований

Объясните выражение System.out::println.
👍1
Данное выражение иллюстрирует механизм instance method reference: передачи ссылки на метод println() статического поля out класса System.
👍2
#вопросы_с_собеседований
Какие подклассы класса Reader вы знаете, для чего они предназначены?

Reader - абстрактный класс, описывающий символьный ввод;
BufferedReader - буферизованный входной символьный поток;
CharArrayReader - входной поток, который читает из символьного массива;
FileReader - входной поток, читающий файл;
FilterReader - абстрактный класс, предоставляющий интерфейс для классов-надстроек;
InputStreamReader - входной поток, транслирующий байты в символы;
LineNumberReader - входной поток, подсчитывающий строки;
PipedReader - входной канал;
PushbackReader - входной поток, позволяющий возвращать символы обратно в поток;
StringReader - входной поток, читающий из строки.
8👍2🤯1
Какой будет результат компиляции и выполнения данного кода?
Anonymous Quiz
5%
null
15%
Infinity
7%
0
14%
NaN
38%
Ошибка компиляции
22%
Ошибка выполнения
👍7👏2👎1
#вопросы_с_собеседований

Что такое «транзакция»?
👍1
Ответ на вопрос: "Что такое «транзакция»?"

Транзакция
- это воздействие на базу данных, переводящее её из одного целостного состояния в другое и выражаемое в изменении данных, хранящихся в базе данных.
👍6
#вопросы_с_собеседований
Может ли значение в столбце, на который наложено ограничение FOREIGN KEY, равняться NULL?

Может, если на данный столбец не наложено ограничение NOT NULL.
👍19👎1
#вопросы_с_собеседований

Как получить реальное расположение сервлета на сервере?
👍3
#вопросы_с_собеседований
Существует ли возможность перенаправить потоки стандартного ввода/вывода?

Класс System позволяет вам перенаправлять стандартный ввод, вывод и поток вывода ошибок, используя простой вызов статического метода:
setIn(InputStream) - для ввода;
setOut(PrintStream) - для вывода;
setErr(PrintStream) - для вывода ошибок.
👍11
#вопросы_с_собеседований

Где и для чего используется модификатор abstract?
👍14
Каков результат выполнения кода на картинке?
Anonymous Quiz
78%
На консоль выведется 'v'.
22%
На консоль выведется 'a'.
👎4👍2
#вопросы_с_собеседований
Как изменить стандартное поведение сериализации/десериализации?

• Реализовать интерфейс java.io.Externalizable, который позволяет применение пользовательской логики сериализации. Способ сериализации и десериализации описывается в методах writeExternal() и readExternal(). Во время десериализации вызывается конструктор без параметров, а потом уже на созданном объекте вызывается метод readExternal.
• Если у сериализуемого объекта реализован один из следующих методов, то механизм сериализации будет использовать его, а не метод по умолчанию :
○ writeObject() - запись объекта в поток;
○ readObject() - чтение объекта из потока;
○ writeReplace() - позволяет заменить себя экземпляром другого класса перед записью;
○ readResolve() - позволяет заменить на себя другой объект после чтения.
👍7
🤡21👎17💩6👍2
Каков результат выполнения кода на картинке?
Anonymous Quiz
26%
"4321"
74%
"1234"
👎38👍5💩3🥰1
Javazavr. Обучение Java.
Photo
Сори за ошибку. Неправильно скопировали код. Не обращайте на этот тест внимания.
👍13👎8🤯8
#вопросы_с_собеседований
Опишите процесс сериализации/десериализации с использованием Serializable.

При использовании Serializable применяется алгоритм сериализации, который с помощью рефлексии (Reflection API) выполняет:
• запись в поток метаданных о классе, ассоциированном с объектом (имя класса, идентификатор SerialVersionUID, идентификаторы полей класса);
• рекурсивную запись в поток описания суперклассов до класса java.lang.Object (не включительно);
• запись примитивных значений полей сериализуемого экземпляра, начиная с полей самого верхнего суперкласса;
• рекурсивную запись объектов, которые являются полями сериализуемого объекта.
При этом ранее сериализованные объекты повторно не сериализуются, что позволяет алгоритму корректно работать с циклическими ссылками.

Для выполнения десериализации под объект выделяется память, после чего его поля заполняются значениями из потока. Конструктор объекта при этом не вызывается. Однако при десериализации будет вызван конструктор без параметров родительского несериализуемого класса, а его отсутствие повлечёт ошибку десериализации.
👍6