#Вопросы_с_собеседования
Что такое классы-оболочки? Что такое автоупаковка?
Для каждого из восьми примитивных типов в Java существует класс-оболочка, который можно использовать для обертывания примитивного значения и использования его как объекта. Эти классы, соответственно, Boolean, Byte, Short, Character, Integer, Float, Long и Double. Эти оболочки могут быть полезны, например, когда вам нужно поместить примитивное значение в общую коллекцию, которая принимает только объекты.
Что такое классы-оболочки? Что такое автоупаковка?
Для каждого из восьми примитивных типов в Java существует класс-оболочка, который можно использовать для обертывания примитивного значения и использования его как объекта. Эти классы, соответственно, Boolean, Byte, Short, Character, Integer, Float, Long и Double. Эти оболочки могут быть полезны, например, когда вам нужно поместить примитивное значение в общую коллекцию, которая принимает только объекты.
List<Integer> list = new ArrayList<>();
list.add(new Integer(5));
Чтобы избежать необходимости вручную преобразовывать примитивы туда и обратно, компилятор Java обеспечивает автоматическое преобразование, известное как автоупаковка/автораспаковка.List<Integer> list = new ArrayList<>();
list.add(5);
int value = list.get(0);👍34
#Вопросы_с_собеседования
❓Что выведет код сверху?
Ответ:
Программа не выдаст ошибки компиляции. Поскольку a больше 20, а b больше 25, будет выведена 1. Второй оператор if не будет истинным, так как a не больше 30, поэтому будет выполнен блок else, который выведет 3. Таким образом, на выходе будет 1, а затем 3. Обратите пристальное внимание на операторы if и else if. Если бы вместо второго оператора if был оператор else if, то на выходе была бы только 1.
❓Что выведет код сверху?
Ответ:
👍57
Что выведет программа?
Anonymous Quiz
23%
A.print() is called
50%
B.print() is called
19%
Compiler Error
5%
Runtime Error
3%
Другое
😢24👍16🤔5
#Вопросы_с_собеседования
❓Какой оператор позволяет принудительно выбросить исключение? Напишите пример
Ответ на картинке.
❓Какой оператор позволяет принудительно выбросить исключение? Напишите пример
Ответ на картинке.
👍27😱2
#Вопросы_с_собеседования
Какими свойствами обладает порождаемое equals() отношение эквивалентности?
☕️ Рефлексивность: для любой ссылки на значение x, x.equals(x) вернет true;
☕️ Симметричность: для любых ссылок на значения x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.
☕️ Транзитивность: для любых ссылок на значения x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;
☕️ Непротиворечивость: для любых ссылок на значения х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.
Для любой ненулевой ссылки на значение х выражение х.equals(null) должно возвращать false.
Какими свойствами обладает порождаемое equals() отношение эквивалентности?
☕️ Рефлексивность: для любой ссылки на значение x, x.equals(x) вернет true;
☕️ Симметричность: для любых ссылок на значения x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.
☕️ Транзитивность: для любых ссылок на значения x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;
☕️ Непротиворечивость: для любых ссылок на значения х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.
Для любой ненулевой ссылки на значение х выражение х.equals(null) должно возвращать false.
👍19
В переменной типа char хранятся значения из следующего диапазона:
Anonymous Quiz
35%
От 0 до 255
35%
От 0 до \uFFFF
12%
От 0 до 32767
11%
От -32768 до 32767
8%
Узнать ответ
👍22
#Вопросы_с_собеседования
❓Что такое Java-конфигурация? Как она применяется?
Чтобы в Spring создать класс с конфигурацией на основе Java-кода, нужно аннотировать его с помощью
❓Что такое Java-конфигурация? Как она применяется?
Чтобы в Spring создать класс с конфигурацией на основе Java-кода, нужно аннотировать его с помощью
@Configuration. Этот класс будет содержать фабричные методы для создания бинов в контейнере. Данные методы должны быть аннотированы аннотацией @Bean. Класс с конфигурацией поместит в контейнер экземпляр класса DataSource. Потом его можно будет использовать при доступе к базе данных.👍20
Побитовые операции
•
•
•
•
•
•
•
•
•
•
•
•
•
•
~ : Побитовый унарный оператор NOT;•
& : Побитовый AND;•
&= : Побитовый AND с присваиванием;•
| : Побитовый OR;•
|= : Побитовый OR с присваиванием;•
^ : Побитовый исключающее XOR;•
^= : Побитовый исключающее XOR с присваиванием;•
>> : Сдвиг вправо (деление на 2 в степени сдвига);•
>>= : Сдвиг вправо с присваиванием;•
>>> : Сдвиг вправо без учёта знака;•
>>>= : Сдвиг вправо без учёта знака с присваиванием;•
<< : Сдвиг влево (умножение на 2 в степени сдвига);•
<<= : Сдвиг влево с присваиванием.👍18
Оператор instanceof
Оператор java instanceof используется для проверки того, является ли объект экземпляром указанного типа (класса или подкласса или интерфейса). Во время выполнения результат оператора instanceof равен true, если значение выражения не равно null.
Это важное свойство операции instanceof, которое делает ее полезной для проверки приведения типов.
Оператор java instanceof используется для проверки того, является ли объект экземпляром указанного типа (класса или подкласса или интерфейса). Во время выполнения результат оператора instanceof равен true, если значение выражения не равно null.
Это важное свойство операции instanceof, которое делает ее полезной для проверки приведения типов.
👍30
Основы ООП на примере Java
Константин Ботнарь, Senior Java Android Developer, расскажет об основах ООП с нуля и максимально доступно для всех начинающих разработчиков.
Часть 1 - Смотреть видео
Часть 2 - Смотреть видео
Константин Ботнарь, Senior Java Android Developer, расскажет об основах ООП с нуля и максимально доступно для всех начинающих разработчиков.
Часть 1 - Смотреть видео
Часть 2 - Смотреть видео
YouTube
Основы ООП на примере Java. Часть 1
Объектно-ориентированное программирование – это подход, при котором вся программа рассматривается как набор взаимодействующих друг с другом объектов.
Object-oriented programming (OOP) держится на 3 принципах:
- инкапсуляция
- наследование
- полиморфизм
…
Object-oriented programming (OOP) держится на 3 принципах:
- инкапсуляция
- наследование
- полиморфизм
…
👍14
#Вопросы_с_собеседования
❓В чем заключается особенность работы метода clone () с полями объекта типа ссылки?
При клонировании объектов копируются только примитивные значения и значение ссылок на объекты. Это значит, что если объект имеет во внутреннем поле ссылку на другой объект, то будет клонирована только эта ссылка, сам же этот другой объект клонирован не будет. Собственно, это и называют — поверхностным клонированием.
Ну а что, если вам нужно полноценное клонирование с клонированием всех вложенных объектов? Как сделать, чтобы это были не копии ссылок, а полноценные клоны объекты с другими занимаемыми ячейками памяти в куче?
На самом деле все довольно просто — для этого вам нужно в каждом классе этих внутренних объектов также переопределить метод clone() и добавить интерфейс маркер — Cloneable. Тогда будут скопированные не ссылки на объекты, а сами объекты, ведь теперь они тоже имеют возможность копировать себя.
❓В чем заключается особенность работы метода clone () с полями объекта типа ссылки?
При клонировании объектов копируются только примитивные значения и значение ссылок на объекты. Это значит, что если объект имеет во внутреннем поле ссылку на другой объект, то будет клонирована только эта ссылка, сам же этот другой объект клонирован не будет. Собственно, это и называют — поверхностным клонированием.
Ну а что, если вам нужно полноценное клонирование с клонированием всех вложенных объектов? Как сделать, чтобы это были не копии ссылок, а полноценные клоны объекты с другими занимаемыми ячейками памяти в куче?
На самом деле все довольно просто — для этого вам нужно в каждом классе этих внутренних объектов также переопределить метод clone() и добавить интерфейс маркер — Cloneable. Тогда будут скопированные не ссылки на объекты, а сами объекты, ведь теперь они тоже имеют возможность копировать себя.
👍24😢1
dbeaver — бесплатный универсальный инструмент для работы с базами данных и SQL-клиент
https://github.com/dbeaver/dbeaver
https://github.com/dbeaver/dbeaver
GitHub
GitHub - dbeaver/dbeaver: Free universal database tool and SQL client
Free universal database tool and SQL client. Contribute to dbeaver/dbeaver development by creating an account on GitHub.
👍17🔥1
Какое значение будет сохранено в строку s?
String s = "value = " + 2 + 2;
String s = "value = " + 2 + 2;
Anonymous Quiz
8%
"value = 2 + 2"
36%
"value = 22"
23%
Ошибка компиляции
21%
"value = 4"
5%
"value = 2 2"
6%
Узнать ответ
👍27😱3
#Вопросы_с_собеседования
❓Что такое Aspect, Advice, Pointcut и JoinPoint в АОП?
Aspect — класс, который реализует сквозные функции, такие как управление транзакциями.
Advice — методы, которые выполняются, когда в приложении достигается определенный JoinPoint с соответствующим Pointcut.
Pointcut — набор регулярных выражений, которые сопоставляются с JoinPoint, чтобы определить, нужно ли выполнять Advice или нет.
JoinPoint — некая точка во время выполнения программы, например выполнение метода или обработка исключения.
❓Что такое Aspect, Advice, Pointcut и JoinPoint в АОП?
Aspect — класс, который реализует сквозные функции, такие как управление транзакциями.
Advice — методы, которые выполняются, когда в приложении достигается определенный JoinPoint с соответствующим Pointcut.
Pointcut — набор регулярных выражений, которые сопоставляются с JoinPoint, чтобы определить, нужно ли выполнять Advice или нет.
JoinPoint — некая точка во время выполнения программы, например выполнение метода или обработка исключения.
👍24
#Вопросы_с_собеседования
❓Что такое string-pool? В чем отличие cоздания строки через new от литерала? Что такое String.intern()?
string-pool — структура в памяти, хранящая массив всех строк-литералов программы.
String.intern(), соответственно, вернет строку из пула, при наличии таковой. Полезно при сравнениях вида:
❓Что такое string-pool? В чем отличие cоздания строки через new от литерала? Что такое String.intern()?
string-pool — структура в памяти, хранящая массив всех строк-литералов программы.
String.intern(), соответственно, вернет строку из пула, при наличии таковой. Полезно при сравнениях вида:
new String("hello").intern() == new String("hello").intern()
Т.к без интернирования пришлось бы сравнивать строки через equals, что может быть медленнее при наличии длинных строк. В данном случае возвращается ссылка на один и тот же объект строки из пула, и проверка проходит с true.👍24❤2
Введение в многопоточность в Java. Часть 1. Преимущества и недостатки многопоточности
Смотреть статью
Смотреть статью
Библиотека программиста
☕🧵 Введение в многопоточность в Java. Часть 1. Преимущества и недостатки многопоточности
В чем заключается «магия» многопоточности? Как создать поток и чем он отличается от процесса? Как процессор обрабатывает потоки?
👍10
#Вопросы_с_собеседования
❓Что вы знаете об интерфейсе FileFilter?
Интерфейс FileFilter применяется для проверки, попадает ли объект File под некоторое условие. Этот интерфейс содержит единственный метод boolean accept(File pathName). Этот метод необходимо переопределить и реализовать.
❓Что вы знаете об интерфейсе FileFilter?
Интерфейс FileFilter применяется для проверки, попадает ли объект File под некоторое условие. Этот интерфейс содержит единственный метод boolean accept(File pathName). Этот метод необходимо переопределить и реализовать.
👍18