#Вопросы_с_собеседования
Что такое перегрузка методов?
Перегрузка методов — это свойство полиморфизма, в котором при помощи изменения сигнатуры метода можно создать различные реализации методов для одной и той же операции:
- одинаковое имя метода;
- различные аргументы;
- различный порядок аргументов;
Например, один и тот же add() из List может быть перегружен следующим образом и будет выполнять добавление разным способом, в зависимости от аргументов метода:
- add(Object o) — просто добавляет объект;
- add(int index, Object o) — добавляет объект в определенный индекс;
- add(Collection<Object> c) — добавляет список объектов;
- add(int index, Collection<Object> c) — добавляет список объектов, начиная с определенного индекса.
Что такое перегрузка методов?
Перегрузка методов — это свойство полиморфизма, в котором при помощи изменения сигнатуры метода можно создать различные реализации методов для одной и той же операции:
- одинаковое имя метода;
- различные аргументы;
- различный порядок аргументов;
Например, один и тот же add() из List может быть перегружен следующим образом и будет выполнять добавление разным способом, в зависимости от аргументов метода:
- add(Object o) — просто добавляет объект;
- add(int index, Object o) — добавляет объект в определенный индекс;
- add(Collection<Object> c) — добавляет список объектов;
- add(int index, Collection<Object> c) — добавляет список объектов, начиная с определенного индекса.
👍21
👍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