Функция случайных вопросов поможет вам подумать и проверить свои знания.
Попробуйте ответить на вопросы устно или в уме, а затем нажмите на сам вопрос, чтобы сравнить свой ответ и проанализировать его.
Что вы упустили? А может быть, вы знаете гораздо больше? Так или иначе, это хорошая практика. :)
В базе данных хранится около 500 вопросов, охватывающих различные темы из категорий таких как Core-1, Core-2, Многопоточность, SQL, Hibernate, Spring, Паттерны, Алгоритмы.
В категории M-BOSS находятся вопросы, которые могут встречаться на технических собеседованиях Java - разработчиков. (взято из открытых источников)
Приглашаю вас присоединиться к телеграм-группе для обратной связи и получения информации о будущих обновлениях! Хочу вас также пригласить в дискорд, для общения на различные темы о Java и не только в ламповой атмосфере.
Дискорд будет пополняться не сложными практическими задачами, которые будут помогать прокачивать навыки технического мышления!
Заходите на канал "задачи-по-java" и оттачивайте свои навыки!
Помните: Именно кропотливый труд над собой, делает из вас профессионала высокого уровня!
Приятного обучения!

Как изменить стандартное поведение сериализации/десериализации?

Core - 1

Для изменения стандартного поведения сериализации и десериализации в Java вы можете использовать различные механизмы и возможности. 1. Пользовательская сериализация: Вы можете определить методы `writeObject()` и `readObject()` в вашем классе, реализующем интерфейс `Serializable` . В этих методах вы можете определить свою собственную логику сериализации и десериализации для объекта. private void writeObject(ObjectOutputStream out) throws IOException { // Ваша логика сериализации } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { // Ваша логика десериализации } 2. Использование механизма Externalizable: Вместо реализации интерфейса `Serializable` , вы можете реализовать интерфейс `Externalizable` . Этот интерфейс требует реализации методов `writeExternal()` и `readExternal()` , где вы можете определить свою собственную логику сериализации и десериализации. public class MyClass implements Externalizable { // ... @Override public void writeExternal(ObjectOutput out) throws IOException { // Ваша логика сериализации } @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { // Ваша логика десериализации } } 3. Использование аннотаций: Вы можете использовать аннотации, такие как `@Transient` и `@Serial` , чтобы изменить поведение сериализации для определенных полей или классов. public class MyClass implements Serializable { @Transient private String transientField; // Это поле будет исключено из сериализации @Serial private void writeObject(ObjectOutputStream out) throws IOException { // Ваша логика сериализации } @Serial private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { // Ваша логика десериализации } } Это лишь некоторые из возможностей для изменения стандартного поведения сериализации и десериализации в Java. В зависимости от ваших конкретных требований, вы можете выбрать наиболее подходящий подход и механизм для вашего приложения.

Открыть

Копировать ссылку

ДРУГОЙ ВОПРОС