Forwarded from Библиотека задач по Java | тесты, код, задания
Что будет результатом кода?
Anonymous Quiz
27%
Значение меньше 2000
43%
Всегда 2000
6%
Ошибка компиляции
11%
ConcurrentModificationException
13%
Посмотреть ответ
👍5❤1🔥1
⚡️ Просто о сложном: JIT-компилятор
Чтобы ускорить работу приложения, JVM включает в дело Just-In-Time (JIT) компилятор.
Он превращает часто выполняемый байткод в нативные машинные инструкции прямо во время исполнения.
🔹 Как это работает
— При старте приложения JVM интерпретирует байткод.
— Когда видит, например, что метод вызывается часто (т.н. hot method), — JIT компилирует его в машинный код.
— В следующий раз этот метод исполняется уже как нативный, без интерпретации.
— Всё это происходит «на лету» — поэтому Java-программы разгоняются после первых секунд работы.
🔹 Зачем нужен JIT
Он сочетает плюсы интерпретации и компиляции:
— Быстрый старт приложения (интерпретация).
— Высокая производительность после разогрева (JIT).
🔹 Что он умеет оптимизировать
— Inlining: подставляет код мелких методов прямо в место вызова.
— Escape Analysis: определяет, можно ли объект хранить на стеке вместо heap.
— Loop unrolling: разворачивает циклы для ускорения.
— Dead code elimination: выбрасывает ненужные операции.
— И другие алгоритмы.
⚙️ Как посмотреть, что делает JIT
Включите флаг:
И увидите, какие методы компилируются во время исполнения.
Интересно почитать про алгоритмы JIT подробнее → ставь 👾
🐸 Библиотека джависта
#CoreJava
Чтобы ускорить работу приложения, JVM включает в дело Just-In-Time (JIT) компилятор.
Он превращает часто выполняемый байткод в нативные машинные инструкции прямо во время исполнения.
🔹 Как это работает
— При старте приложения JVM интерпретирует байткод.
— Когда видит, например, что метод вызывается часто (т.н. hot method), — JIT компилирует его в машинный код.
— В следующий раз этот метод исполняется уже как нативный, без интерпретации.
— Всё это происходит «на лету» — поэтому Java-программы разгоняются после первых секунд работы.
🔹 Зачем нужен JIT
Он сочетает плюсы интерпретации и компиляции:
— Быстрый старт приложения (интерпретация).
— Высокая производительность после разогрева (JIT).
🔹 Что он умеет оптимизировать
— Inlining: подставляет код мелких методов прямо в место вызова.
— Escape Analysis: определяет, можно ли объект хранить на стеке вместо heap.
— Loop unrolling: разворачивает циклы для ускорения.
— Dead code elimination: выбрасывает ненужные операции.
— И другие алгоритмы.
Включите флаг:
-XX:+PrintCompilation
И увидите, какие методы компилируются во время исполнения.
Интересно почитать про алгоритмы JIT подробнее → ставь 👾
#CoreJava
Please open Telegram to view this post
VIEW IN TELEGRAM
👾23👍3🔥3
🛰 Event-Driven Architecture с Apache Kafka
Монолиты и REST-взаимодействие упираются в масштабируемость. Event-driven архитектура с Kafka позволяет строить реактивные цепочки бизнес-логики, где события становятся мостом между сервисами.
📝 Промпт:
💡 Расширения:
— Настройте Kafka Streams для real-time агрегатов.
— Интегрируйте с Schema Registry для версионирования событий.
— Добавьте Observability: trace event flow with OpenTelemetry.
🐸 Библиотека джависта
#Enterprise
Монолиты и REST-взаимодействие упираются в масштабируемость. Event-driven архитектура с Kafka позволяет строить реактивные цепочки бизнес-логики, где события становятся мостом между сервисами.
📝 Промпт:
Generate a Spring Boot 3 microservice architecture example with Apache Kafka event-driven communication.
— Configure Kafka producer and consumer with Spring Kafka.
— Use JSON Schema/Avro for message serialization and schema validation.
— Implement a domain event publisher (e.g. OrderCreatedEvent).
— Add event listener services that react asynchronously (e.g. notification service, billing service).
— Implement idempotency strategy for consumers (deduplication of events).
— Use Kafka Transactions for exactly-once semantics.
— Add Dead Letter Queue (DLQ) handling for failed messages.
— Настройте Kafka Streams для real-time агрегатов.
— Интегрируйте с Schema Registry для версионирования событий.
— Добавьте Observability: trace event flow with OpenTelemetry.
#Enterprise
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👏1
Топ-3 статьи о Java и смежных технологиях за неделю по версии нашего канала.
Крупное обновление фреймворка. Теперь требуется Java 17+, все модули объединены в единую версию, устаревшие API удалены, добавлены аннотации JSpecify для строгой null-безопасности.
Мощное расширение IDE для Spring-проектов. Позволяет генерировать CRUD-код, миграции, OpenAPI и управлять сущностями прямо из IDE.
Статья о том, почему стоит смотреть в сторону Kotlin: меньше шаблонного кода, выше читаемость и меньше ошибок. Kotlin даёт прирост скорости и лаконичности, особенно для команд, уставших от громоздкости Java.
#News
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👏2👍1
Anonymous Poll
33%
Без Lombok писать больно
6%
Удаляю Lombok из всех проектов
28%
Только для DTO и простых моделей
34%
Зависи от команды, проекта и кодстайла
👍2🔥1💯1