Что такое java lts релиз?
Anonymous Quiz
59%
знаю
25%
не знаю
8%
не уверен что знаю:)
8%
узнать резхультаты
👍9
проблемы в https://t.me/java_interview_tasks/328:
1) метод load() будет вызываться несколько раз , если новые потоки будут приходить до того как doLoad загрузит данные => одни и те же данные будут грузится паралельно, что может вызвать проблемы, например оом, плюс к этому на каждый вызову будет создаваться новый тред
2) возможно подразумевается что эксепшен из метода load перехватится в методе get, но этого не будет, так как он был выброшен в другом треде
Вопрос к экспертам по jmm: надо ли поле lastUpdate делать volatile ?
1) метод load() будет вызываться несколько раз , если новые потоки будут приходить до того как doLoad загрузит данные => одни и те же данные будут грузится паралельно, что может вызвать проблемы, например оом, плюс к этому на каждый вызову будет создаваться новый тред
2) возможно подразумевается что эксепшен из метода load перехватится в методе get, но этого не будет, так как он был выброшен в другом треде
Вопрос к экспертам по jmm: надо ли поле lastUpdate делать volatile ?
Telegram
Java Interview Tasks
какие тут проблемы могут быть? (метод get могут вызывать разные потоки одновременно)
🔥5❤2👍1
Java Interview Tasks
какие тут проблемы могут быть? (метод get могут вызывать разные потоки одновременно)
Что бы понять нужен ли volatile над полем, проведем несколько тестов:
Будем использовать jcstress - https://openjdk.org/projects/code-tools/jcstress/
(https://youtu.be/uZfK-9ixxec?si=oE1Lqvp8_wxoLOuY)
Код двух экспериментов ниже:
Будем использовать jcstress - https://openjdk.org/projects/code-tools/jcstress/
(https://youtu.be/uZfK-9ixxec?si=oE1Lqvp8_wxoLOuY)
Код двух экспериментов ниже:
🔥3❤2👍1
Запускал эти тесты у себя локально, на jdk11:
java.specification.name Java Platform API Specification
java.specification.vendor Oracle Corporation
java.specification.version 11
java.vendor Amazon.com Inc.
java.version 11.0.19
java.vm.name OpenJDK 64-Bit Server VM
java.vm.vendor Amazon.com Inc.
java.vm.version 11.0.19+7-LTS
os.arch amd64
os.name Windows 11
os.version 10.0
java.specification.name Java Platform API Specification
java.specification.vendor Oracle Corporation
java.specification.version 11
java.vendor Amazon.com Inc.
java.version 11.0.19
java.vm.name OpenJDK 64-Bit Server VM
java.vm.vendor Amazon.com Inc.
java.vm.version 11.0.19+7-LTS
os.arch amd64
os.name Windows 11
os.version 10.0
🔥4❤2
Какие потоки будут создаваться быстрее?
Anonymous Quiz
54%
virtual threads быстрее
20%
большой разницы не будет
9%
threads быстрее
17%
узнать ответ
🔥7🐳3👍1
Где будет исполнен метод doInternal?
Anonymous Quiz
24%
В новом треде
39%
В том же треде что и forceThread
11%
Код упадет, так как метод run нельзя вызывать у потока
8%
Код не скомпилирется
17%
Узнать ответ
👍5🔥5🥱2❤1
Что напечатает код, если index = -1?
Anonymous Quiz
8%
1
39%
ничего
36%
будет runtime exception
10%
будет compilation error
7%
узнать ответ
👍9👎6🤔2
Тут проблема в приоритете операций, код выше эквивалентен такому:
if ((index >= 0 && s.charAt(index) == 'q') || s.charAt(index) == '\t')
Поэтому правильный вариант будет - StringIndexOutOfBoundsException, так как код дойдет до выполнения s.charAt(index) и упадет на нем
if ((index >= 0 && s.charAt(index) == 'q') || s.charAt(index) == '\t')
Поэтому правильный вариант будет - StringIndexOutOfBoundsException, так как код дойдет до выполнения s.charAt(index) и упадет на нем
Telegram
Java Interview Tasks
Что напечатает код, если index = -1? (Разъяснение ответа будет завтра)
👍6❤2🔥2