Что выведет следующий код?
Anonymous Quiz
15%
В ходе выполнения будет брошено исключение ClassCastException
11%
I'm a Daddy
16%
Код не скомпилируется
57%
It's me!
Пояснение к предыдущему вопросу👆
👨🏻💻В коде используется повышающее преобразование, когда экземпляр класса Meсоздается под ссылку родительского класса Daddy.
Не произойдет ни ошибки компиляции, ни исключения во время выполнения. Однако и при обращении по ссылке типа Daddy, и по ссылке типа Me будет вызван метод класса Me, так как сам объект относится именно к этому классу.
Java задачи с собеседований
👨🏻💻В коде используется повышающее преобразование, когда экземпляр класса Meсоздается под ссылку родительского класса Daddy.
Не произойдет ни ошибки компиляции, ни исключения во время выполнения. Однако и при обращении по ссылке типа Daddy, и по ссылке типа Me будет вызван метод класса Me, так как сам объект относится именно к этому классу.
Java задачи с собеседований
Что выведет следующий код?
Anonymous Quiz
8%
Long
45%
Произойдет ошибка компиляции
4%
Number
43%
Object
Что выведет следующий код?
Anonymous Quiz
33%
truetruetrue
30%
falsefalsefalse
7%
truefalsetrue
30%
falsefalsetrue
Пояснение к предыдущему вопросу👆
👨🏻💻 Конкатенация строк при помощи оператора «+» и метода concat отличается по своей реализации. Оператор «+», если разложить код дизассемблером и проанализировать, развернется в нечто вроде
String s1 = new StringBuilder()
.append(s1)
.append(s2)
.toString();
При этом s1 и s2 неявно преобразуются в String (т. е. null -> «null») и NullPointerException’а не возникнет. В случае же с concat оно будет брошено, т. к. метод вызывается у null-объекта.
Поэтому первые две строки отработают как ожидается. Третья строка успешно пройдет компиляцию, т. к. null-объект явно преобразовывается в строку со значением «null».
Java задачи с собеседований
👨🏻💻 Конкатенация строк при помощи оператора «+» и метода concat отличается по своей реализации. Оператор «+», если разложить код дизассемблером и проанализировать, развернется в нечто вроде
String s1 = new StringBuilder()
.append(s1)
.append(s2)
.toString();
При этом s1 и s2 неявно преобразуются в String (т. е. null -> «null») и NullPointerException’а не возникнет. В случае же с concat оно будет брошено, т. к. метод вызывается у null-объекта.
Поэтому первые две строки отработают как ожидается. Третья строка успешно пройдет компиляцию, т. к. null-объект явно преобразовывается в строку со значением «null».
Java задачи с собеседований
Какой из методов отсутствуют в String?
Anonymous Quiz
50%
codePointBefore()
35%
capacity()
10%
isEmpty(
5%
length()
Пояснение к предыдущему вопросу👆
👨🏻💻 << и >> - это операторы побитового сдвига влево и вправо соответственно. Сдвиг вправо на 1 всегда делит целое число пополам, а сдвиг влево на 1 всегда его увеличивает в два раза, это правило позволит достаточно легко разбираться с вопросами по сдвигам.
Если сдвиг происходит на несколько бит, то число делится/умножается (целочисленно) на 2 несколько раз, по количеству бит в операции.
Java задачи с собеседований
👨🏻💻 << и >> - это операторы побитового сдвига влево и вправо соответственно. Сдвиг вправо на 1 всегда делит целое число пополам, а сдвиг влево на 1 всегда его увеличивает в два раза, это правило позволит достаточно легко разбираться с вопросами по сдвигам.
Если сдвиг происходит на несколько бит, то число делится/умножается (целочисленно) на 2 несколько раз, по количеству бит в операции.
Java задачи с собеседований
Что выведет следующий код?
Anonymous Quiz
53%
Код не скомпилируется
19%
NullPointerException
18%
Integer
10%
ClassCastException
Forwarded from BZD • Книги для программистов
Markus_Eisele_Natale_Vinto_Modernizing_Enterprise_Java_A_Concise.pdf
3.8 MB
📔 Title: Modernizing Enterprise Java: A Concise Cloud Native Guide for Developers
#book #Java #EN
🌐 Lang.: English
🧔 Author: Markus Eisele, Natale Vinto
🕘 Year: 2021
📑 Pages: 240
#️⃣ ISBN: 978-1-098-12156-3
📝 Description: В то время как контейнеры, микросервисы и распределенные системы занимают всё внимание в обсуждениях в мире технологий, большинство приложений, используемых сегодня, по-прежнему работают с монолитными архитектурами, которые соответствуют традиционным подходам к разработке. Эта практическая книга помогает изучить давно устоявшиеся модели на основе Java и демонстрирует, как успешно преобразовать эти монолитные приложения в более современные.
@bzd_channel
#book #Java #EN
🌐 Lang.: English
🧔 Author: Markus Eisele, Natale Vinto
🕘 Year: 2021
📑 Pages: 240
#️⃣ ISBN: 978-1-098-12156-3
📝 Description: В то время как контейнеры, микросервисы и распределенные системы занимают всё внимание в обсуждениях в мире технологий, большинство приложений, используемых сегодня, по-прежнему работают с монолитными архитектурами, которые соответствуют традиционным подходам к разработке. Эта практическая книга помогает изучить давно устоявшиеся модели на основе Java и демонстрирует, как успешно преобразовать эти монолитные приложения в более современные.
@bzd_channel