Упражнение для читателей - пофиксить все баги в этом коде, при учете того что в метод могут прийти любые параметры
👍7🐳3👏1
Решение последней задачи (https://t.me/java_interview_tasks/225)
от GPT бота:
https://t.me/ChatGPT_BotGroup/44
от GPT бота:
https://t.me/ChatGPT_BotGroup/44
Telegram
Java Interview Tasks
Пример такого небезопасного кода:
😁8🔥2
👍7🔥6👏1
Ответ на вопрос про rollback для Transactional (https://t.me/java_interview_tasks/228)
В данном примере отката транзакции не будет, так как эксепшен перехватывается сразу внутри метода с аннотацией @Transactional,
и поэтому прокси, которая создается этой аннотацией, ничего не знает про этот ексепшен и не откатывает транзакцию
То есть, если вы хотите, чтобы транзакция откатилась , нужно выбросить ексепшен из метода с @Transactional
В данном примере отката транзакции не будет, так как эксепшен перехватывается сразу внутри метода с аннотацией @Transactional,
и поэтому прокси, которая создается этой аннотацией, ничего не знает про этот ексепшен и не откатывает транзакцию
То есть, если вы хотите, чтобы транзакция откатилась , нужно выбросить ексепшен из метода с @Transactional
Telegram
Java Interview Tasks
Сохранится ли customer в базе?
🔥12👍1👏1
👍11❤1
👍13🔥4🤔1
👍8😁4🔥3
Если нужно выполнить какие-то операции с массивами битов, что вы будете использовать?
Anonymous Quiz
12%
boolean[]
63%
byte[]
8%
int[]
4%
Boolean[]
13%
что-то еще
🤨11🔥2💩2👏1🐳1😨1
Java Interview Tasks
Если нужно выполнить какие-то операции с массивами битов, что вы будете использовать?
Почему такой ответ ожидается, будет пост завтра
😁9👍3❤1😨1
Вопрос:
Если нужно выполнить какие-то операции с массивами битов, что вы будете использовать?
Ответ:
Для этого есть более эффективный с точки зрения использования памяти метод.
Это класс BitSet, позволяющий нам хранить массивы битов и манипулировать ими. По сравнению с boolean[] он требует в 8 раз меньше памяти. Мы можем выполнять логические операции над массивами, такими как, например and, or, xor.
Почитать подробнее можно тут - https://habr.com/ru/post/76481/
Если нужно что-то еще более производительное - https://lucene.apache.org/core/3_0_3/api/all/org/apache/lucene/util/OpenBitSet.html
Важная вещь - BitSet не подходит для использования в многопоточном коде без дополнительной синхронизации
Вопрос к читателям - почему так было сделано?
Если нужно выполнить какие-то операции с массивами битов, что вы будете использовать?
Ответ:
Для этого есть более эффективный с точки зрения использования памяти метод.
Это класс BitSet, позволяющий нам хранить массивы битов и манипулировать ими. По сравнению с boolean[] он требует в 8 раз меньше памяти. Мы можем выполнять логические операции над массивами, такими как, например and, or, xor.
Почитать подробнее можно тут - https://habr.com/ru/post/76481/
Если нужно что-то еще более производительное - https://lucene.apache.org/core/3_0_3/api/all/org/apache/lucene/util/OpenBitSet.html
Важная вещь - BitSet не подходит для использования в многопоточном коде без дополнительной синхронизации
Вопрос к читателям - почему так было сделано?
Хабр
boolean — боремся за Java память…
У Вас когда-либо случались такие ситуации, когда Ваше Java приложение трещит по швам? В моём случае это случилось из-за нехватки доступной оперативной памяти. И,...
🔥12👍4❤1
🔥17❤2👍2
Можно ли использовать такой класс как спринг бин?
Anonymous Quiz
41%
да, можно
38%
нет, нельзя
21%
узнать ответ
👎8👍6🔥3