Ответ
Да, постоянное обучение — ключевая часть профессионального роста. Я систематически изучаю различные источники:
- Фундаментальные книги:
- "Effective Java" (Joshua Bloch) — must-read для понимания идиом Java.
- "Java Concurrency in Practice" (Brian Goetz) — исчерпывающее руководство по многопоточности.
- "Designing Data-Intensive Applications" (Martin Kleppmann) — для понимания архитектурных решений.
- Официальная документация: Релизные notes Oracle для новых версий Java, документация Spring Framework.
- Технические блоги и статьи: Baeldung, InfoQ, блоги инженеров крупных компаний (Netflix, Uber).
- Конференции и подкасты: Записи с Devoxx, JPoint для знакомства с трендами и case studies.
Пример применения: Изучение виртуальных потоков (Virtual Threads) в Java 21 позволило понять, как упростить написание конкурентного кода без сложностей с пулами потоков:
// Раньше: управление пулом потоков
ExecutorService executor = Executors.newFixedThreadPool(10);
// Теперь: виртуальные потоки
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
IntStream.range(0, 10_000).forEach(i -> {
executor.submit(() -> {
Thread.sleep(Duration.ofSeconds(1));
return i;
});
});
} // Все 10k легковесных потоков эффективно выполнятся