TGViewer
Channel Public Channel
Java задачи с собеседований

Java задачи с собеседований

@javaquiz

Задачи, тесты и теоретические вопросы по JAVA.

Репозиторий: https://github.com/proghub-official/java-interview
Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
Subscribers
5.71K
Photos
756
Videos
7
Links
271

Showing posts older than #1100 · Back to latest

Older Posts 20 shown
Post #1095 3.05K
  • 👍 13
Post #1092 3.38K
Пояснение к предыдущему вопросу👆

👨🏻‍💻 Конкатенация строк при помощи оператора «+» и метода concat отличается по своей реализации. Оператор «+», если разложить код дизассемблером и проанализировать, развернется в нечто вроде

String s1 = new StringBuilder()

.append(s1)

.append(s2)

.toString();

При этом s1 и s2 неявно преобразуются в String (т. е. null -> «null») и NullPointerException’а не возникнет. В случае же с concat оно будет брошено, т. к. метод вызывается у null-объекта.

Поэтому первые две строки отработают как ожидается. Третья строка успешно пройдет компиляцию, т. к. null-объект явно преобразовывается в строку со значением «null».

Java задачи с собеседований
  • 👍 21
Post #1082 3.25K
  • 👎 15
  • 👍 14
Post #1079 3K
Пояснение к предыдущему вопросу👆

👨🏻‍💻В коде используется повышающее преобразование, когда экземпляр класса Meсоздается под ссылку родительского класса Daddy.

Не произойдет ни ошибки компиляции, ни исключения во время выполнения. Однако и при обращении по ссылке типа Daddy, и по ссылке типа Me будет вызван метод класса Me, так как сам объект относится именно к этому классу.

Java задачи с собеседований
  • 👍 6
  • 👎 2
Post #1078 3.01K
  • 👎 24
  • 👍 4
Post #1073 3.31K
Пояснение к предыдущему вопросу👆

👨🏻‍💻В survivor space находятся объекты, которые пережили больше одного прохода GC, но меньше 15 (по умолчанию это порог, после которого объект отправляется к долгожителям в Old Generation). После проходов GC в этой области возникает проблема фрагментации – постоянно возникают «дырки» от удаленных объектов и нужно «уплотнять» их расположение в памяти для большей производительности.

Для этого данная область делится на две и каждый проход сборщика все элементы из одной копируются в другую, фрагментируясь, а вторая остается пустой. На следующем проходе они вновь меняются местами, фрагментируя расположение объектов.

Java задачи с собеседований
  • 👍 15
Post #1070 3.64K
Пояснение к предыдущему вопросу👆

👨🏻‍💻 Операторы & и |применяются как побитовое «И» и «ИЛИ» соответственно, если операнды целочисленные, и как логические «И» и «ИЛИ», если операнды булевы. При этом & и |, в случае логического выражения, проверяют оба своих операнда на истинность.

Их сокращенные версии, &&и ||, оптимизированы – «И» не проверяет на истинность второй операнд, если первый «ЛОЖЬ», «ИЛИ» не проверяет второй операнд, если первый «ИСТИНА».

Это делает их полезными для оптимизации кода и позволяет избежать NullPointerExceptionв тех случаях, когда второй операнд-выражение может его инициировать (в первом операнде размещают проверку на null-значение).

Java задачи с собеседований
  • 🔥 16
  • 👍 9
  • 👎 1
Post #1069 3.4K
  • 👍 10
  • 🔥 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →