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

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

Реклама: @anothertechrock
Download Telegram
Данное выражение иллюстрирует механизм 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
#вопросы_с_собеседований
Что такое «сериализация»?

Сериализация (Serialization)
- процесс преобразования структуры данных в линейную последовательность байтов для дальнейшей передачи или сохранения. Сериализованные объекты можно затем восстановить (десериализовать).

В Java, согласно спецификации Java Object Serialization существует два стандартных способа сериализации: стандартная сериализация, через использование интерфейса java.io.Serializable и «расширенная» сериализация - java.io.Externalizable.

Сериализация позволяет в определенных пределах изменять класс. Вот наиболее важные изменения, с которыми спецификация Java Object Serialization может справляться автоматически:

• добавление в класс новых полей;
• изменение полей из статических в нестатические;
• изменение полей из транзитных в нетранзитные.

Обратные изменения (из нестатических полей в статические и из нетранзитных в транзитные) или удаление полей требуют определенной дополнительной обработки в зависимости от того, какая степень обратной совместимости необходима.
👍9
#вопросы_с_собеседований
Что такое «символьная ссылка»?

Символьная (символическая)
ссылка (также «симлинк», Symbolic link) — специальный файл в файловой системе, в котором, вместо пользовательских данных, содержится путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке (файлу). Целью ссылки может быть любой объект: например, другая ссылка, файл, каталог или даже несуществующий файл (в последнем случае, при попытке открыть его, должно выдаваться сообщение об отсутствии файла).

Символьные ссылки используются для более удобной организации структуры файлов на компьютере, так как:
• позволяют для одного файла или каталога иметь несколько имён и различных атрибутов;
• свободны от некоторых ограничений, присущих жёстким ссылкам (последние действуют только в пределах одной файловой системы (одного раздела) и не могут ссылаться на каталоги).
👍3
#вопросы_с_собеседований
Что такое «абсолютный путь» и «относительный путь»?

Абсолютный (полный) путь
— это путь, который указывает на одно и то же место в файловой системе, вне зависимости от текущей рабочей директории или других обстоятельств. Полный путь всегда начинается с корневого каталога.

Относительный путь представляет собой путь по отношению к текущему рабочему каталогу пользователя или активного приложения.