223 subscribers
8 photos
2 videos
11 links
Java для взрослых разработчиков ☕️🔞

Авторские материалы по Java-разработке:

📺 youtube.com/@rustam-kuramshin

📖 habr.com/ru/users/RustamKuramshin/articles/
Download Telegram
🚀 Двоичная Java: CDS, CRaC и AOT для ускорения запуска и прогрева JVM

🔍 Миф №1 о Java:

> «Java — это медленно»

Да, лет 20 назад это могло быть правдой. Но JVM с тех пор прошла огромный путь.

В классическом варианте Java-байткод исполняется через интерпретатор — по сути, цикл со switch-case, где инструкции переводятся на лету. Это действительно не быстро.

📈 Первый прорыв — JIT-компиляция (Just-in-Time): часто вызываемые методы начали компилироваться в машинный код во время выполнения. Это дало солидный прирост производительности.

💡 Но на этом оптимизации не остановились. Сегодня в арсенале JVM есть:

* CDS (Class Data Sharing) — сериализация внутренних представлений классов, чтобы ускорить их загрузку из архива.

* CRaC (Coordinated Restore at Checkpoint) — снятие снепшота уже «прогретой» JVM, чтобы потом мгновенно восстановить её в этом состоянии.

* AOT (Ahead-of-Time compilation) — компиляция Java-приложения в нативный бинарник заранее, без участия JIT в рантайме.

🧪 А на подходе ещё Project Leyden, который обещает сделать JVM по-настоящему предсказуемой и «запускаемой с кнопки» — благодаря condensers и training runs.

🎤 Обо всём этом я рассказывал на HighLoad++ 2024. Видео пока не выложили, но мои друзья из Axiom JDK подготовили текстовую версию доклада 📄

📎 Читайте: «Двоичная Java: CDS, CRaC и AOT для ускорения запуска и прогрева JVM»

#java_hub_jvm
👍5🔥2