См. ранее — это Compare-And-Swap — атомарная операция, основанная на сравнении и замене значения, используется в Atomic* классах.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
Anonymous Quiz
34%
java.lang.reflect
33%
java.util.reflect
21%
java.annotation
12%
java.reflect
🤔3👍2🔥1
Anonymous Quiz
68%
Socket
25%
ServerSocket
3%
InetAddress
4%
SocketAddress
💊3👍2🤔2
- Посмотреть входной запрос (URL, параметры, ID);
- Проверить запрос к базе — корректен ли он;
- Убедиться, что данные существуют;
- Проверить условия фильтрации и доступов;
- Посмотреть, не была ли удалена запись.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊9🔥3
Anonymous Quiz
39%
add()
44%
push()
12%
offer()
5%
insert()
💊16🤔4👍3🔥1
Anonymous Quiz
72%
remove(int index)
7%
delete(int index)
20%
removeAt(int index)
1%
erase(int index)
В контексте систем и БД принято выделять:
- L1 (первый уровень) — в оперативной памяти процесса. Например, кэш Hibernate на уровне сессии.
- L2 (второй уровень) — между процессами, часто в виде отдельного механизма (Ehcache, Redis, Memcached).
- Кэш браузера или CDN — используется для хранения статичных ресурсов.
- Блок/дисковый кэш — встроенный в файловую систему.
Чем ближе к коду — тем быстрее, но тем меньше объём и выше риск устаревания.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9💊1
Anonymous Quiz
8%
Переменная не может быть изменена
37%
Переменная доступна из любого потока
52%
Переменная не хранится в кэше потоков
2%
Переменная является статической
👍4💊3🔥2🤔2
Anonymous Quiz
23%
Может удалять элементы из потока
37%
Может изменять элементы потока
19%
Принимает Predicate как параметр
20%
Возвращает новый поток
💊19👍1🔥1🤔1
Аномалии (грязное чтение, неповторяемое чтение, фантомные данные) устраняются с помощью:
- Уровней изоляции транзакций (READ COMMITTED, REPEATABLE READ, SERIALIZABLE);
- Использования блокировок (pessimistic);
- Оптимистичного контроля версий (например, через
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4
Anonymous Quiz
15%
Будет выброшено исключение
3%
Код скомпилируется, но не запустится
24%
Код успешно скомпилируется и запустится
58%
Компилятор выдаст ошибку
👍3🔥2🤔2
Anonymous Quiz
61%
putIfAbsent()
7%
insertIfAbsent()
8%
addIfAbsent()
24%
put()
👍3💊3🤔2
Позволяет проверить, принадлежит ли объект определённому типу. Удобно при проверке перед приведением типов или в шаблоне Visitor.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Anonymous Quiz
15%
Да, всегда
67%
Нет, никогда
9%
Да, но только в приватном конструкторе
9%
Да, но только в статическом методе
👍7🤔1💊1
Anonymous Quiz
24%
lowerKey()
17%
floorKey()
23%
ceilingKey()
35%
higherKey()
💊15👍1
Autoboxing — это автоматическое преобразование примитивного типа в объектный. Например:
- int → Integer
- double → Double
Также есть unboxing — обратно: объект в примитив.
Это удобно при работе с коллекциями и обобщениями, которые работают только с объектами.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥1
Anonymous Quiz
33%
Comparator
2%
Serializable
12%
Iterable
53%
Comparable
👍7
Anonymous Quiz
13%
getClassObject()
7%
getRuntimeClass()
73%
getClass()
6%
getObjectClass()
👍1🤔1
1. Рефлексивность: a.equals(a) всегда true;
2. Симметричность: a.equals(b) ⇆ b.equals(a);
3. Транзитивность: a.equals(b) и b.equals(c) → a.equals(c);
4. Непротиворечивость: многократные вызовы возвращают одно и то же значение;
5. Сравнение с null всегда возвращает false.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13💊5🔥2
Anonymous Quiz
5%
add()
3%
remove()
5%
get()
87%
put()
👍4