👍19
Как можно уничтожить объект в Java?
Anonymous Quiz
15%
Вызвать деструктор у объекта.
35%
Этого нельзя сделать вручную.
18%
Вызвать метод finalize() у объекта.
26%
Присвоить null всем ссылкам на объект.
6%
Вызвать Runtime.getRuntime().gc().
👍16🤔12❤1
Spring Data JPA: разница между методами findById, getOne, getById и findOne
JpaRepository Spring Data предоставляет огромный набор методов, упрощающих реализацию операций над базой данных.
Смотреть статью
JpaRepository Spring Data предоставляет огромный набор методов, упрощающих реализацию операций над базой данных.
Смотреть статью
Хабр
Spring Data JPA: разница между методами findById, getOne, getById и findOne
JpaRepository Spring Data предоставляет огромный набор методов, упрощающих реализацию операций над базой данных. С их помощью вы можете сохранять, удалять и считывать объект сущности (entity object)....
👍8
Разработка простого VPN-приложения на Java с использованием библиотеки SSLSocket
Сегодня мы рассмотрим разработку простого VPN-приложения на Java с использованием SSLSocket из пакета javax.net.ssl для обеспечения безопасного обмена данными между клиентом и сервером.
Создание SSL-соединения между клиентом и сервером
1. Создайте класс SimpleSSLServer, который будет принимать входящие SSL-соединения и перенаправлять трафик
2. Создайте класс SimpleSSLClient, который будет подключаться к SimpleSSLServer и отправлять данные через безопасное соединение
3. Запустите SimpleSSLServer и подключитесь к нему с помощью SimpleSSLClient
Данный пример демонстрирует простейшую реализацию VPN-приложения на Java с использованием SSL-соединений для обеспечения безопасности данных. Однако в реальном VPN-приложении потребуется реализовать более сложную логику, такую как аутентификация пользователей, управление доступом, поддержка различных протоколов.
Сегодня мы рассмотрим разработку простого VPN-приложения на Java с использованием SSLSocket из пакета javax.net.ssl для обеспечения безопасного обмена данными между клиентом и сервером.
Создание SSL-соединения между клиентом и сервером
1. Создайте класс SimpleSSLServer, который будет принимать входящие SSL-соединения и перенаправлять трафик
2. Создайте класс SimpleSSLClient, который будет подключаться к SimpleSSLServer и отправлять данные через безопасное соединение
3. Запустите SimpleSSLServer и подключитесь к нему с помощью SimpleSSLClient
Данный пример демонстрирует простейшую реализацию VPN-приложения на Java с использованием SSL-соединений для обеспечения безопасности данных. Однако в реальном VPN-приложении потребуется реализовать более сложную логику, такую как аутентификация пользователей, управление доступом, поддержка различных протоколов.
👍30❤1
#Вопросы_с_собеседования
🔍 Можем ли мы перегрузить методы по возвращаемому типу?
Мы не можем перегружать по возвращаемому типу. Это поведение аналогично C++.
Мы не можем перегружать по возвращаемому типу. Это поведение аналогично C++.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
#Вопросы_с_собеседования
Из за чего может возникать NoClassDefFoundError, NoSuchMethodError?
🔸 NoClassDefFoundError может возникнуть, если нужной библиотеки с этим классом нет в classpath
🔸 NoSuchMethodError может возникнуть из-за несовместимости ваших библиотек, если зависимая библиотека A вызывает метод из старой версии библиотеки B, но в classpath есть более новая версия библиотеки B, c другой сигнатурой этого метода
Из за чего может возникать NoClassDefFoundError, NoSuchMethodError?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2
Что такое абстрактные классы и методы в Java
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны.
Смотреть статью
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны.
Смотреть статью
👍11
Многопоточность в мобильной разработке
В этой статье я хочу рассмотреть один из важнейших аспектов мобильной разработки — многопоточность. Многопоточность позволяет выполнять несколько задач одновременно и повышать производительность приложения.
Смотреть статью
В этой статье я хочу рассмотреть один из важнейших аспектов мобильной разработки — многопоточность. Многопоточность позволяет выполнять несколько задач одновременно и повышать производительность приложения.
Смотреть статью
👍6
#Вопросы_с_собеседования
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
Равные объекты должны возвращать одинаковые хэш коды. При переопределении нужно обязательно переопределять и метод .
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
equals() hashCode()👍22😱2🤔1
Что будет выведено на экран в результате выполнения следующего кода: public class SomeClass { static int x = 5; public static void main(String[] args) { int x; int y = 5; if (y > 3) x = 1; System.out.println(x); } }
Anonymous Quiz
41%
сообщение об ошибке компиляции
36%
1
2%
3
13%
предупреждение о потенциальной ошибке
8%
5
👍13❤2🔥1
#Вопросы_с_собеседования
Что такое маркерный интерфейс? Каковы известные примеры таких интерфейсов в Java?
Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определенного свойства. Наиболее широко известными маркерами в стандартной библиотеке Java являются следующие:
☕️
☕️
☕️
Что такое маркерный интерфейс? Каковы известные примеры таких интерфейсов в Java?
Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определенного свойства. Наиболее широко известными маркерами в стандартной библиотеке Java являются следующие:
☕️
Serializable используется для явного указания того, что этот класс может быть сериализован;☕️
Cloneable позволяет клонировать объекты с помощью метода clone (без интерфейса Cloneable этот метод выдает исключение CloneNotSupportedException);☕️
Remote используется в RMI для указания интерфейса, методы которого можно вызывать удаленно.👍16
Предположим, что класс В наследует класс А. Какое утверждение обязательно верно?
Anonymous Quiz
14%
Если класс А имеет только private-конструкторы, то и конструкторы класса В должны быть private
36%
Если класс А имел статический метод, то метод в классе В с той же сигнатурой тоже должен быть статик
8%
Если класс А - абстрактный, то класс В тоже должен быть абстрактным
5%
Если класс А объявлен как final, то класс В тоже должен быть final
21%
Если класс А объявлен как public, то и класс В должен быть public
15%
Узнать ответ
👍21
#Вопросы_с_собеседования
Скомпилируется ли код с картинки?
Ответ:
Да, код будет скомпилирован, потому что он следует спецификации функционального интерфейса, определяющей только один абстрактный метод. Второй метод, count, является методом по умолчанию, который не увеличивает количество абстрактных методов.
Скомпилируется ли код с картинки?
Ответ:
👍20😱4
Что такое ReadWriteLock?
Существует реализующий интерфейс
ReadWriteLock — это интерфейс, расширяющий базовый интерфейс Lock. Используется для улучшения производительности в многопоточном процессе и оперирует парой связанных блокировок (одна - для операций чтения, другая - для записи). Блокировка чтения может удерживаться одновременно несколькими читающими потоками, до тех пор, пока не появится записывающий. Блокировка записи является эксклюзивной.Существует реализующий интерфейс
ReadWriteLock класс ReentrantReadWriteLock, который поддерживает до 65535 блокировок записи и до стольки же блокировок чтения.👍8❤1
#Вопросы_с_собеседования
❓Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
❓Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
👍14❤3
#Вопросы_с_собеседования
❓Как не допустить сериализацию?
Чтобы не допустить автоматическую сериализацию можно переопределить private методы для создания исключительной ситуации NotSerializableException.
Любая попытка записать или прочитать этот объект теперь приведет к возникновению исключительной ситуации.
❓Как не допустить сериализацию?
Чтобы не допустить автоматическую сериализацию можно переопределить private методы для создания исключительной ситуации NotSerializableException.
Любая попытка записать или прочитать этот объект теперь приведет к возникновению исключительной ситуации.
👍10❤2🔥1