Java Portal | Программирование
11.6K subscribers
873 photos
67 videos
30 files
701 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Введение в Springdoc OpenAPI в Spring Boot

Хотите автоматически документировать свои REST API на Spring Boot?

Используйте Springdoc OpenAPI для генерации интерактивного Swagger UI с минимальной конфигурацией. ✌️

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Базовые понятия метрик производительности

> Latency (Задержка) – Время, необходимое для выполнения одного запроса или операции.

> Throughput (Пропускная способность) – Количество операций в секунду (например, запросов/сек, транзакций/сек).

> P95 / P99 – Перцентильные метрики, показывающие задержку в худших 5% или 1% случаев.

> Tail Latency – Задержка самых медленных запросов (например, 99-й перцентиль); критично для UX.

> Cold Start – Начальная задержка при запуске системы "с нуля" (например, AWS Lambda).

> Warm Start – Повторное использование уже инициализированного сервиса для снижения задержки старта.

> TTFB– Время между отправкой запроса и получением первого байта ответа.

> RPS – Часто используемая метрика пропускной способности API/сервера.

> QPS – Аналог RPS, но чаще применяется к базам данных и поисковым системам.

> Error Rate – Процент запросов, завершившихся ошибкой (например, 5xx или 4xx).

> Apdex Score – Метрика удовлетворённости пользователей: сколько запросов были быстрыми, терпимыми или медленными.

> SLA – Обещанный провайдером уровень доступности или производительности.

> SLO – Внутренняя целевая метрика производительности.

> SLI – Фактически измеренное значение (например, «99.95% запросов быстрее 500 мс»).

> Resource Utilization – Нагрузка на CPU, память, диск и сеть.

> GC Pause Time – Время, в течение которого приложение приостанавливается для сборки мусора.

> Throughput vs Latency Tradeoff – Увеличение числа запросов может снизить задержку... до определённого момента.

> Jank – Подвисания/дёргания при отрисовке на фронтенде (часто вызвано долгими задачами или перерасчётами стилей).

> CPU Throttling – Ограничения по CPU, например, в контейнерах или облачных окружениях.

> I/O Wait Time – Время, которое CPU тратит в ожидании операций ввода/вывода.

> TTI – Сколько времени нужно, чтобы страница стала полностью пригодной для взаимодействия.

> CLS – Измеряет, насколько элементы смещаются при загрузке.

> FPS – Ключевая метрика визуальной производительности (особенно в играх и анимациях).

> Memory Footprint – Объём памяти, используемый системой/процессом при обычной нагрузке.

> Throttling & Backpressure – Механизмы замедления клиентов/систем при высокой нагрузке для стабилизации.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Решение задачи LeetCode #57 “Insert Interval” на Java

Читать подробнее

👉 Java Portal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
Флаги управления памятью JVM

-Xms
— устанавливает начальный размер кучи (heap). Пример использования: -Xms512m. Это предотвращает частое перераспределение памяти при прогреве приложения, что может ускорить старт и стабилизировать поведение.

-Xmx — задаёт максимальный размер кучи. Пример: -Xmx2g. Критически важно для ограничения потребления памяти и предотвращения ошибок OutOfMemoryError (OOM), особенно в долгоживущих или нагруженных приложениях.

-Xmn — определяет размер молодого поколения (Young Generation) в куче. Пример: -Xmn256m. Точная настройка этого параметра позволяет оптимизировать частоту малых сборок мусора (Minor GC), что напрямую влияет на производительность.

-XX:MaxMetaspaceSize — ограничивает максимальный размер области метаданных классов (Metaspace). Пример: -XX:MaxMetaspaceSize=512m. Помогает избежать чрезмерного потребления памяти при интенсивной загрузке классов, особенно в приложениях с большим количеством библиотек или плагинов.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Профилирование с помощью Spring Boot Actuator

Spring Boot Actuator предоставляет эндпоинты, такие как /actuator/metrics, /actuator/health и /actuator/heapdump.

В связке с Micrometer, Prometheus и Grafana позволяет визуализировать производительность вашего приложения.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 WAICORE — хостинг, за который не надо переживать

Устали от лагов, сложных панелей и переплат? Переходите на VPS с AMD Ryzen 9 — быстро, просто, без нервов.

💬 Почему клиенты выбирают нас:
— Цена начинается от 2€
— Скорость канала до 10 Гбит/с
— Поддержка 24/7 — отвечаем быстро и без шаблонов

Приятный бонус: Бесплатный VPN — расширение для браузера в подарок каждому нашему юзеру

VPN | Расширение для браузера

📍 Локации: Германия (Франкфурт), Москва, Нидерланды (уже скоро) — стабильный пинг, DDoS-защита.

🔥 Успейте сегодня
Выбрать сервер | 💬 Наш канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Пример Spring MVC: Hello World

Простое веб-приложение, в котором контроллер обрабатывает запрос, добавляет данные в модель и отображает их в представлении (view).

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
image_2025-06-15_08-03-03.png
2.6 MB
Блок synchronized в Java позволяет указать любой объект в качестве блокировки. Это даёт более тонкий контроль по сравнению с синхронизацией всего метода.

Синтаксис: synchronized (objectReference) { // критическая секция }
Область действия: Только код внутри фигурных скобок {}.
Блокировка: Используется объект objectReference, указанный в круглых скобках.

Поведение: Только один поток может одновременно выполнять код внутри блока synchronized для конкретного объекта objectReference. Это позволяет, например, синхронизироваться на приватном объекте, чтобы внешние классы не могли захватить ту же блокировку, или ограничить синхронизацию только частью метода

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM