Каким будет результат компиляции и выполнения следующего кода?
Anonymous Quiz
18%
C5
20%
C
22%
ABC5
30%
ABC
9%
AB5
👍21🔥6😱5👏3
Свойства, которым должен удовлетворять equals
• Рефлексивность: a==a
• Симметричность: a==b, b==a
• Транзитивность: a==b, b==c, a==c
• Консистентность: Множественные вызовы equals должны возвращать один и тот же результат
• Рефлексивность: a==a
• Симметричность: a==b, b==a
• Транзитивность: a==b, b==c, a==c
• Консистентность: Множественные вызовы equals должны возвращать один и тот же результат
👍40❤1🔥1
Что выведет код?
Anonymous Quiz
30%
byte...
14%
long, long
32%
Byte, Byte
24%
ничего, код не скомпилируется
👍15🤔4🔥3
Отличия String/StringBuilder/StringBuffer
• String — иммутабельный байтовый массив
• StringBuilder — helper-класс для построения строк, не предоставляет гарантий синхронизации
• StringBuffer — то же, что и StringBuilder, с synchronized методами
• String — иммутабельный байтовый массив
• StringBuilder — helper-класс для построения строк, не предоставляет гарантий синхронизации
• StringBuffer — то же, что и StringBuilder, с synchronized методами
👍36👎1
Что выведет на экран следующая программа?
Anonymous Quiz
31%
true
30%
false
11%
4/2=true
28%
4/2=false
👍24👎3👏3😁2
Interface vs Abstract Class.
• Интерфейс есть средство наследования API, абстрактный класс — средство наследования реализации
• Через интерфейсы возможно осуществлять множественное наследование, абстрактный класс можно наследовать в одном экземпляре.
• В интерфейсе нет возможности определить поля и конструкторы
• Интерфейс есть средство наследования API, абстрактный класс — средство наследования реализации
• Через интерфейсы возможно осуществлять множественное наследование, абстрактный класс можно наследовать в одном экземпляре.
• В интерфейсе нет возможности определить поля и конструкторы
👍24👎7
Какой результат будет получен после компиляции и выполнения данного кода?
Anonymous Quiz
27%
Программа будет бесконечно выводить "Hello"
20%
Hello Hello outer Hello Hello outer Good-Bye
13%
Hello outer Hello outer Good-Bye
14%
Hello Hello Good-Bye
5%
Hello Good-Bye
14%
Ошибка компиляции
7%
Ошибка времени выполнения
👍21🤯4
override vs overload
• override — возможность переопределениия поведения метода в типах-потомках
• overload — возможность переопределять метод с одним именем, но разным набором аргументов
• override — возможность переопределениия поведения метода в типах-потомках
• overload — возможность переопределять метод с одним именем, но разным набором аргументов
👍33
Что будет выведено на консоль?
Anonymous Quiz
41%
true
38%
false
6%
Невозможно предсказать
15%
Код не компилируется
👍17🤔4
Как в Java сделать утечку памяти?
• Используя самописный класс стека, при выполнении операции pop() не присваивать предыдущей ссылке значение null.
• Также можно неверно использовать HashMap вместо WeakHashMap для кэширования чего-нибудь большого, например картинок ваших товаров, пользователей и.т.д в. Т.к ссылки на ключи сильные (strong references), значения по этим ключам будут висеть в хипе доморковкиного заговенья следующей перезагрузки jvm процесса или удаления ключа из мапы и обнуления ссылки на него. Вообще, кэширование — тема для отдельного разговора
• Также, статья (но староватая)
• Используя самописный класс стека, при выполнении операции pop() не присваивать предыдущей ссылке значение null.
• Также можно неверно использовать HashMap вместо WeakHashMap для кэширования чего-нибудь большого, например картинок ваших товаров, пользователей и.т.д в. Т.к ссылки на ключи сильные (strong references), значения по этим ключам будут висеть в хипе до
• Также, статья (но староватая)
👍18🔥3
Что произойдет в результате компиляции и выполнения кода?
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