Что произойдет в результате компиляции и выполнения кода?
Anonymous Quiz
4%
Будет напечатано "null" без кавычек
45%
Будет напечатано "90" без кавычек
11%
Будет напечатано "8" без кавычек
6%
Будет напечатано "0" без кавычек
29%
Возникнет ошибка компиляции
5%
Результат невозможно предугадать
👍19
В чем проблемы Random?
Random возвращает псевдо-случайную числовую последовательность, основанную на линейном конгруэнтном методе и seed'е, основанном на timestamp'е создания j.u.Random.
Соотвественно, зная время создания, можно предсказать такую последовательность. Такой генератор является детерминированным, и криптографически нестойким. Для исправления этого лучше использовать SecureRandom
Random возвращает псевдо-случайную числовую последовательность, основанную на линейном конгруэнтном методе и seed'е, основанном на timestamp'е создания j.u.Random.
Соотвественно, зная время создания, можно предсказать такую последовательность. Такой генератор является детерминированным, и криптографически нестойким. Для исправления этого лучше использовать SecureRandom
👍39
Что будет в результате компиляции и выполнения данного кода?
Anonymous Quiz
42%
1
37%
2
6%
Ошибка выполнения
15%
Ошибка компиляции
👍16
GC и различные его виды в JVM. Какой объект считать достижимым. Как происходит сборка мусора (своими словами).
Виды GC:
• Serial Stop the World
• Parallel
• CMS (В чем недостаток по сравнению с Parallel?)
• G1 (Назвать отличие от CMS)
• Shenandoah
Виды GC:
• Serial Stop the World
• Parallel
• CMS (В чем недостаток по сравнению с Parallel?)
• G1 (Назвать отличие от CMS)
• Shenandoah
👍16
Что будет выведено на экран в результате компиляции и выполнения следующего кода?
Anonymous Quiz
22%
string string string
5%
null null null
12%
string null 0
25%
Ошибка компиляции в строке // 10
22%
Ошибка компиляции в строке // 22
4%
Ошибка компиляции в строке // 26
10%
Ошибка выполнения
👍26👎5👏1🍌1
Generics: В чем преимущество, как работают? Что такое type-erasure? В чем отличие от шаблонов C++?
• Типы дженерики обеспечивают параметрический полиморфизм, т.е выполнение идентичного кода для различных типов. Типичный пример — коллекции, итераторы
• type-erasure — это стирание информации о типе-параметре в runtime. Таким образом, в байт-коде мы увидим List, Set вместо List<Integer>, Set<Integer>, ну и type-cast'ы при необходимости
• В отличие от дженериков в Java, в С++ шаблоны в итоге приводят к компиляции метода или типа для каждого специфицированного типа параметра (специализация шаблона). Да простят меня здесь адепты С++.
• Типы дженерики обеспечивают параметрический полиморфизм, т.е выполнение идентичного кода для различных типов. Типичный пример — коллекции, итераторы
• type-erasure — это стирание информации о типе-параметре в runtime. Таким образом, в байт-коде мы увидим List, Set вместо List<Integer>, Set<Integer>, ну и type-cast'ы при необходимости
• В отличие от дженериков в Java, в С++ шаблоны в итоге приводят к компиляции метода или типа для каждого специфицированного типа параметра (специализация шаблона). Да простят меня здесь адепты С++.
👍25❤1
Какое имя у бина реализованного в данном классе?
Anonymous Quiz
4%
jpaClientRepository
69%
clientRepository
5%
JpaClientRepository
11%
accountRepository
6%
опеределенно два бина:dataSource и repository
5%
dataSource
👍26🔥1
Generics: Метод принимает ссылку на List<Parent>. Child наследуется от Parent. Можно ли в метод передать List<Child>?
В типе аргумента нужно указать List<? extends Parent>
В типе аргумента нужно указать List<? extends Parent>
⚡24👍4❤🔥1
Что будет в результате компиляции и выполнения следующего кода?
Anonymous Quiz
46%
7 4
13%
5 2
7%
ошибка времени выполнения
34%
ошибка компиляции
👍16🔥4⚡3🎉1
Hard-references, weak references, soft-references, phantom-references
• Hard-references — стандартные ссылки на объекты, которые становится eligible for collection после недостижимости из root set
• Weak-references — объекты могут быть удалены при наличии слабой ссылки на него в любое время
• Soft-references — объекты могут удалятся GC при недостатке памяти
• Phantom-references — объекты не доступны напрямую по ссылкам, перед удалением помещаются в очередь на удаление. Нужны для более безопасной финализации ссылок (вместо finalize)
• Hard-references — стандартные ссылки на объекты, которые становится eligible for collection после недостижимости из root set
• Weak-references — объекты могут быть удалены при наличии слабой ссылки на него в любое время
• Soft-references — объекты могут удалятся GC при недостатке памяти
• Phantom-references — объекты не доступны напрямую по ссылкам, перед удалением помещаются в очередь на удаление. Нужны для более безопасной финализации ссылок (вместо finalize)
⚡12👍5🔥3🎉2
Anonymous Quiz
12%
request
65%
singleton
10%
session
14%
prototype
👍20⚡4🔥3🌭3🤩2
Какими способами можно сконструировать объект в Java?
• Через конструктор
• Через статический factory-method
• Через паттерн Builder
• Через конструктор
• Через статический factory-method
• Через паттерн Builder
👍36⚡4🌚4🔥3
Каким будет результат работы программы?
Anonymous Quiz
8%
Warning при компиляции
10%
Ошибка времени выполнения
16%
Будет напечатано "TEST " без кавычек
35%
Будет напечатано "TEST TEST " без кавычек
10%
Будет напечатано "TEST TEST TEST " без кавычек
21%
Ошибка компиляции
👍16👎10⚡2🌭1
Рассказать про classloader'ы и их иерархию. Из за чего, например, может возникать NoClassDefFoundError, NoSuchMethodError?
Иерархия classloader'ов
1. Bootstrap
2. System
3. Application
• NoClassDefFoundError может возникнуть, если нужной библиотеки с этим классом нет в classpath
• NoSuchMethodError может возникнуть из-за несовместимости ваших библиотек, если зависимая библиотека A вызывает метод из старой версии библиотеки B, но в classpath есть более новая версия библиотеки B, c другой сигнатурой этого метода
Иерархия classloader'ов
1. Bootstrap
2. System
3. Application
• NoClassDefFoundError может возникнуть, если нужной библиотеки с этим классом нет в classpath
• NoSuchMethodError может возникнуть из-за несовместимости ваших библиотек, если зависимая библиотека A вызывает метод из старой версии библиотеки B, но в classpath есть более новая версия библиотеки B, c другой сигнатурой этого метода
⚡18👍8🤩2👌1