JIT (Just-In-Time) компилятор — это компонент JVM, который
JIT компилирует только те части кода, которые
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2🔥1
Comparable — это
Comparator — это
Comparable используется, когда
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3⚡1
При вызове статического метода решение о том, какой метод выполнить, принимается на этапе компиляции по типу ссылки, а не по типу объекта.
class Parent {
static void test() { System.out.println("Parent"); }
}
class Child extends Parent {
static void test() { System.out.println("Child"); }
}
Parent obj = new Child();
obj.test(); // Выведет "Parent"Статические методы принадлежат классу, а не объекту, поэтому
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥2👏1
flatMap() преобразует
Полезен для работы с
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1👏1
Record (с Java 14) — это с
record Person(String name, int age) { }
// Автоматически генерируется:
// - конструктор
// - геттеры (name(), age())
// - equals(), hashCode(), toString()—
—
—
—
—
—
Хорошо подходит для
—
—
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3👏1
Технически
▪️ Проблемы
—
—
—
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12⚡2🔥2
Type Erasure — это механизм
List<String> strings = new ArrayList<>();
List<Integer> integers = new ArrayList<>();
// В runtime оба имеют тип List
strings.getClass() == integers.getClass(); // true
🔹 Последствия:
—
—
—
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4👏2
Double.NaN == Double.NaN возвращает
NaN (Not a Number) представляет недопустимый или неопределённый результат вычислений. По определению,
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3🤔1
Lambda — это
Синтаксис:
Под капотом компилятор создаёт
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👏2🔥1
Selector позволяет
Selector selector = Selector.open();
channel.register(selector, SelectionKey.OP_READ);
while (true) {
selector.select(); // блокируется до события
Set<SelectionKey> keys = selector.selectedKeys();
for (SelectionKey key : keys) {
if (key.isReadable()) {
// обработка чтения
}
}
}
Один поток может
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3👏1
Autoboxing —
Unboxing —
Удобно, но есть подводные камни
—
—
—
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1👏1
Fail-Safe итератор работает с к
Примеры:
Особенности:
—
—
—
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤔3🔥1
Объекты хранятся в
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1👏1
Брокер — это
Топик — это
Топик делится на партиции. Партиция —
Репликация: у каждой партиции есть
ISR (In-Sync Replicas) —
Координация: раньше это делал
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4👏2
Класс Object — это базовый класс для всех классов в Java. Он содержит следующие методы:
🔹 public final Class<?> getClass() –
🔹
🔹 public boolean equals(Object obj) –
🔹
🔹 public String toString() –
🔹
🔹 public final void notifyAll() –
🔹
🔹 public final void wait(long timeout) –
🔹
🔹 protected void finalize() –
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2❤1👏1
→ throws: указывается в
public void readFile() throws FileNotFoundException { ... }Здесь throws
→ throw: используется непосредственно в
if (file == null) {
throw new FileNotFoundException("Файл не найден");
}Здесь throw
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2🔥1