Лучшие практики реализации equals() и hashCode() на примере JPA сущности
Всем привет!
Рано или поздно при работе с объектами и хэш-коллекциями мы сталкиваемся с вопросами: «Где моя сущность?» или «Почему они не равны?».
В контексте работы с важными данными эти вопросы становится еще более актуальными.
А самое что страшное, что нет единого ответа на вопрос: «А как сделать мне в моём проекте?».
Читать статью
Всем привет!
Рано или поздно при работе с объектами и хэш-коллекциями мы сталкиваемся с вопросами: «Где моя сущность?» или «Почему они не равны?».
В контексте работы с важными данными эти вопросы становится еще более актуальными.
А самое что страшное, что нет единого ответа на вопрос: «А как сделать мне в моём проекте?».
Читать статью
VK
Лучшие практики реализации equals() и hashCode() на примере JPA сущности
Всем привет!Рано или поздно при работе с объектами и хэш-коллекциями мы сталкиваемся с вопросами: «Где моя сущность?» или «Почему они не..
👍4
Spring Reactor. Эволюция сервисов. На пути к реактивности
Это статья описывает опыт миграции традиционного приложения java spring на Spring reactor стек. О специфике разрабатываемой информационной системы, уже подробно рассказывал. Кратко о системе - смешанная сервисно-микросервисная архитектура. Чтобы получить бизнес результат, требуется вызвать микросервис, который вызывает сервис, который вызывает набор микросервисов для формирования ценностного набора данных. Получается цепочка вызовов. Сервисы и микросервисы разрабатывались на традиционном технологическом стеке, без использования реактивного подхода.
Читать статью
Это статья описывает опыт миграции традиционного приложения java spring на Spring reactor стек. О специфике разрабатываемой информационной системы, уже подробно рассказывал. Кратко о системе - смешанная сервисно-микросервисная архитектура. Чтобы получить бизнес результат, требуется вызвать микросервис, который вызывает сервис, который вызывает набор микросервисов для формирования ценностного набора данных. Получается цепочка вызовов. Сервисы и микросервисы разрабатывались на традиционном технологическом стеке, без использования реактивного подхода.
Читать статью
VK
Spring Reactor. Эволюция сервисов. На пути к реактивности
Контекст
👍1🔥1
Развертывание безопасных Java-приложений на AWS EKS с GitLab CI/CD, Maven, Trivy и SonarQube
В современном DevOps для эффективного, надежного и последовательного развертывания программного обеспечения важна автоматизация. Весь процесс разработки и выпуска ПО оптимизируется при помощи мощного инструмента GitLab CI/CD. Развернем с ним приложение Java в мультикластере Kubernetes, управляемом на AWS и настраиваемом в eksctl. Рассмотрим процесс от создания кластера Kubernetes до развертывания контейнеризованного приложения Java, попутно интегрируя инструменты DevOps Trivy и SonarQube.
Читать статью
В современном DevOps для эффективного, надежного и последовательного развертывания программного обеспечения важна автоматизация. Весь процесс разработки и выпуска ПО оптимизируется при помощи мощного инструмента GitLab CI/CD. Развернем с ним приложение Java в мультикластере Kubernetes, управляемом на AWS и настраиваемом в eksctl. Рассмотрим процесс от создания кластера Kubernetes до развертывания контейнеризованного приложения Java, попутно интегрируя инструменты DevOps Trivy и SonarQube.
Читать статью
VK
Развертывание безопасных Java-приложений на AWS EKS с GitLab CI/CD, Maven, Trivy и SonarQube
В современном DevOps для эффективного, надежного и последовательного развертывания программного обеспечения важна автоматизация. Весь про..
🔥1
Реализации Microkernel архитектуры с помощью Java OSGI
Я хотел бы поделиться опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative). Этот подход является промежуточным вариантом между микро-сервисной и монолитной архитектурой. С одной стороны присутствует разделение между компонентами на уровне VM с другой - межкомпонентное взаимодействие происходит без участия сети, что ускоряет запросы.
Читать статью
Я хотел бы поделиться опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative). Этот подход является промежуточным вариантом между микро-сервисной и монолитной архитектурой. С одной стороны присутствует разделение между компонентами на уровне VM с другой - межкомпонентное взаимодействие происходит без участия сети, что ускоряет запросы.
Читать статью
Teletype
Реализации Microkernel архитектуры с помощью Java OSGI
Я хотел бы поделиться опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative)...
🔥1
Forwarded from Java News
Секреты в Java-сервисах на Spring: где брать и как обновлять
Меня зовут Андрей Чернов, я Java‑архитектор в СберТехе, где разрабатываю архитектуру микросервисов. Сейчас я расскажу про нюансы работы с секретами в Java‑сервисах на всеми любимом Spring Boot и про наш опыт такой работы. В современном мире практически не осталось автономных, ни с чем не интегрированных, сервисов. А секреты в первую очередь нужны для безопасных интеграций.
Статья будет состоять из двух частей. В первой расскажу про особенности работы с секретами в Java на Spring Boot — где их брать и как применять к вашему сервису на примере того, как мы делаем это в Platform V Sessions Data (распределенный in‑memory кеш для клиентских сессий, который позволяет снизить нагрузку на внешние сервисы и базу данных). Также расскажу про стандартные варианты обновления секретов «на горячую» (не останавливая, не перезапуская сервисы, и даже не снимая с них нагрузку) и что с ними не так.
Во второй части подробно разберу, как мы обновляем секреты «на горячую». Эти советы помогут вам улучшить работу с секретами, а значит сделать сервисы более защищёнными. Ведь если секреты попадут в руки злоумышленников, те смогут атаковать ваш сервис — вывести его из строя, украсть конфиденциальные данные и т. п. А любая успешная атака чревата для компаний потерей денег, нервов, времени и репутации.
Читать статью
Меня зовут Андрей Чернов, я Java‑архитектор в СберТехе, где разрабатываю архитектуру микросервисов. Сейчас я расскажу про нюансы работы с секретами в Java‑сервисах на всеми любимом Spring Boot и про наш опыт такой работы. В современном мире практически не осталось автономных, ни с чем не интегрированных, сервисов. А секреты в первую очередь нужны для безопасных интеграций.
Статья будет состоять из двух частей. В первой расскажу про особенности работы с секретами в Java на Spring Boot — где их брать и как применять к вашему сервису на примере того, как мы делаем это в Platform V Sessions Data (распределенный in‑memory кеш для клиентских сессий, который позволяет снизить нагрузку на внешние сервисы и базу данных). Также расскажу про стандартные варианты обновления секретов «на горячую» (не останавливая, не перезапуская сервисы, и даже не снимая с них нагрузку) и что с ними не так.
Во второй части подробно разберу, как мы обновляем секреты «на горячую». Эти советы помогут вам улучшить работу с секретами, а значит сделать сервисы более защищёнными. Ведь если секреты попадут в руки злоумышленников, те смогут атаковать ваш сервис — вывести его из строя, украсть конфиденциальные данные и т. п. А любая успешная атака чревата для компаний потерей денег, нервов, времени и репутации.
Читать статью
VK
Секреты в Java-сервисах на Spring: где брать и как обновлять
Привет! Меня зовут Андрей Чернов, я Java‑архитектор в СберТехе, где разрабатываю архитектуру микросервисов. Сейчас я расскажу про нюансы..
🔥2
JForge: Создаем свою мини-IDE на Java Swing с нуля (с темной темой и подсветкой синтаксиса!)
Каждый из нас, Java-разработчиков, хоть раз задумывался: "А что, если взять и написать свою IDE?". Ну, может, не полноценную замену IntelliJ IDEA, но что-то компактное, для души, для изучения Swing или просто для фана. Сегодня я хочу поделиться именно таким проектом – JForge, простой IDE для Java, написанной полностью на Swing, с акцентом на приятный темный интерфейс и базовые, но необходимые фичи.
Читать статью
Каждый из нас, Java-разработчиков, хоть раз задумывался: "А что, если взять и написать свою IDE?". Ну, может, не полноценную замену IntelliJ IDEA, но что-то компактное, для души, для изучения Swing или просто для фана. Сегодня я хочу поделиться именно таким проектом – JForge, простой IDE для Java, написанной полностью на Swing, с акцентом на приятный темный интерфейс и базовые, но необходимые фичи.
Читать статью
VK
JForge: Создаем свою мини-IDE на Java Swing с нуля (с темной темой и подсветкой синтаксиса!)
Каждый из нас, Java-разработчиков, хоть раз задумывался: "А что, если взять и написать свою IDE?". Ну, может, не полноценную замену Intel..
🔥4
Spring, kafka, неблокирующий retry, лаги
История об особенностях использования механизмов retry, которые дает spring-kafka из коробки и проблемах с производительностью.
Есть нужно сделать асинхронный retry сообщений на топике, который бы не блокировал основной поток сообщений «легко и быстро» — вам сюда😊
(А потом после «легко и быстро» несколько дней дебажить 🤔)
Читать статью
История об особенностях использования механизмов retry, которые дает spring-kafka из коробки и проблемах с производительностью.
Есть нужно сделать асинхронный retry сообщений на топике, который бы не блокировал основной поток сообщений «легко и быстро» — вам сюда😊
(А потом после «легко и быстро» несколько дней дебажить 🤔)
Читать статью
VK
Spring, kafka, неблокирующий retry, лаги
Всем привет! Хочу рассказать об особенностях использования механизмов retry, которые дает spring для kafka из коробки. У нас java-21, spr..
👍3🔥2
Java и базы данных NoSQL: практическое руководство
В постоянно развивающемся мире разработки программного обеспечения обращение к базам данных NoSQL становится все более популярным. Особенно часто их используют в приложениях, требующих масштабируемости, высокой производительности и гибкости в работе с неструктурированными данными. Java, проверенный временем и универсальный язык программирования, отлично сочетается с базами данных NoSQL.
Цель этого руководства — ознакомить разработчиков с интеграцией Java с популярными базами данных NoSQL, такими как MongoDB, Cassandra и Neo4j. Для более глубокого понимания будут представлены практические сведения и примеры.
Читать статью
В постоянно развивающемся мире разработки программного обеспечения обращение к базам данных NoSQL становится все более популярным. Особенно часто их используют в приложениях, требующих масштабируемости, высокой производительности и гибкости в работе с неструктурированными данными. Java, проверенный временем и универсальный язык программирования, отлично сочетается с базами данных NoSQL.
Цель этого руководства — ознакомить разработчиков с интеграцией Java с популярными базами данных NoSQL, такими как MongoDB, Cassandra и Neo4j. Для более глубокого понимания будут представлены практические сведения и примеры.
Читать статью
Teletype
Java и базы данных NoSQL: практическое руководство
В постоянно развивающемся мире разработки программного обеспечения обращение к базам данных NoSQL становится все более популярным...
🔥2
Узнаём какое аниме будет самым рейтинговым еще до выхода
Когда встал вопрос "о чем писать диплом", я точно знала, что не хочу писать о чем-то скучном или не интересным для меня. Было много идеи (не только про аниме) и даже в сфере аниме - не только про задачу прогнозирования. Когда уже надо было утверждать тему, на одной из лекции как раз рассказывали про задачи классификации и прогнозирования. Я знала, что уже есть вагон и маленькая тележка статей про прогнозирование в области фильмов, но в аниме? Критически мало. И я решила это исправить)
Читать статью
Когда встал вопрос "о чем писать диплом", я точно знала, что не хочу писать о чем-то скучном или не интересным для меня. Было много идеи (не только про аниме) и даже в сфере аниме - не только про задачу прогнозирования. Когда уже надо было утверждать тему, на одной из лекции как раз рассказывали про задачи классификации и прогнозирования. Я знала, что уже есть вагон и маленькая тележка статей про прогнозирование в области фильмов, но в аниме? Критически мало. И я решила это исправить)
Читать статью
VK
Узнаём какое аниме будет самым рейтинговым еще до выхода
Когда встал вопрос "о чем писать диплом", я точно знала, что не хочу писать о чем-то скучном или неинтересным для меня. Было много идеи (..
🔥2
Компоновка аннотаций в Spring
Совсем недавно, в процессе разработки на Spring я столкнулся с невероятным количеством бойлерплейт-кода в аннотациях. Решение сделать с этим что-то было принято мгновенно и вот что из этого вышло...
Читать статью
Совсем недавно, в процессе разработки на Spring я столкнулся с невероятным количеством бойлерплейт-кода в аннотациях. Решение сделать с этим что-то было принято мгновенно и вот что из этого вышло...
Читать статью
Teletype
Компоновка аннотаций в Spring
Да, вы можете засунуть несколько аннотаций в одну и использовать только ее. И что самое интересное - да, вы можете передавать аттрибуты...
🔥2👍1
Декомпозиция систем по ограниченным контекстам DDD — глубокое погружение
"Отдайте этот функционал в другую системы - он относится к ним" - ворчал мой собеседник. Ему с пылом отвечали: "Так быть не должно. Мы сами должны его сделать!" Спор грозил затянуться до вечера. Ни одна из сторон не могла привести ни одного настоящего аргумента, почему новый функционал нужно поместить в ту или иную автоматизированную систему.
Проблема была в том, что никто не понимал как правильно делить системы на части и по каким признакам включать в них новые модули. У собеседников не было никакой единой простой методики.
Но методика на самом деле есть, и весьма неплохая. Называется она Предметно Ориентированным Дизайном (Domain Driven Design, DDD). С помощью DDD деление большой системы на (микро)сервисы становится простым и понятным.
Читать статью
"Отдайте этот функционал в другую системы - он относится к ним" - ворчал мой собеседник. Ему с пылом отвечали: "Так быть не должно. Мы сами должны его сделать!" Спор грозил затянуться до вечера. Ни одна из сторон не могла привести ни одного настоящего аргумента, почему новый функционал нужно поместить в ту или иную автоматизированную систему.
Проблема была в том, что никто не понимал как правильно делить системы на части и по каким признакам включать в них новые модули. У собеседников не было никакой единой простой методики.
Но методика на самом деле есть, и весьма неплохая. Называется она Предметно Ориентированным Дизайном (Domain Driven Design, DDD). С помощью DDD деление большой системы на (микро)сервисы становится простым и понятным.
Читать статью
Telegraph
Декомпозиция систем по ограниченным контекстам DDD — глубокое погружение
"Отдайте этот функционал в другую системы - он относится к ним" - ворчал мой собеседник. Ему с пылом отвечали: "Так быть не должно. Мы сами должны его сделать!" Спор грозил затянуться до вечера. Ни одна из сторон не могла привести ни одного настоящего аргумента…
🔥2
Настройка и мониторинг Java приложений
За годы работы у нас сформировался определенный опыт диагностики и решения проблем, связанные с производительностью наших Java-приложений. В этой статье я опишу причины торможения, с которыми приходилось столкнуться, и возможные пути их исправления. Также опишу основные настройки, которые мы делаем, и ресурсы сервера, которые использует приложение.
Речь пойдет о бизнес-приложениях с одним сервером Java-приложения и одним сервером базы данных PostgreSQL, в каждом из которых одновременно работают от 500 до 2000 сотрудников компании. Приложения разработаны на базе открытой и бесплатной платформы lsFusion, но все описанные проблемы и настройки не являются специфическими именно для нее.
Читать статью
За годы работы у нас сформировался определенный опыт диагностики и решения проблем, связанные с производительностью наших Java-приложений. В этой статье я опишу причины торможения, с которыми приходилось столкнуться, и возможные пути их исправления. Также опишу основные настройки, которые мы делаем, и ресурсы сервера, которые использует приложение.
Речь пойдет о бизнес-приложениях с одним сервером Java-приложения и одним сервером базы данных PostgreSQL, в каждом из которых одновременно работают от 500 до 2000 сотрудников компании. Приложения разработаны на базе открытой и бесплатной платформы lsFusion, но все описанные проблемы и настройки не являются специфическими именно для нее.
Читать статью
Teletype
Настройка и мониторинг Java приложений
За годы работы у нас сформировался определенный опыт диагностики и решения проблем, связанные с производительностью наших...
🔥1
Юнит-тесты: чек-лист методик проектирования
Меня зовут Василий Косарев, я Java‑разработчик в CDEK. Много раз мы слышали о необходимости писать модульные тесты, о том, что весь код должен быть ими покрыт. При этом мне не встречалось списка: какие именно методики лучше использовать при тестировании кода.
Я задумался: есть ли чек‑лист/ руководство, который облегчил бы генерацию тестовых сценариев и помог выявлять серьёзные ошибки? Чтобы вдумчиво подходить к тестированию и не тратить ресурсы впустую, сводя к минимуму количество необходимых тестов.
Сегодняшней статьёй попробую ответить на эти вопросы. Материал будет полезен разработчикам, которые уже пишут модульные тесты и которые только думают внедрять их в свой проект. Мы с вами применим методики проектирования тестов и разберёмся, насколько они эффективны.
Читать статью
Меня зовут Василий Косарев, я Java‑разработчик в CDEK. Много раз мы слышали о необходимости писать модульные тесты, о том, что весь код должен быть ими покрыт. При этом мне не встречалось списка: какие именно методики лучше использовать при тестировании кода.
Я задумался: есть ли чек‑лист/ руководство, который облегчил бы генерацию тестовых сценариев и помог выявлять серьёзные ошибки? Чтобы вдумчиво подходить к тестированию и не тратить ресурсы впустую, сводя к минимуму количество необходимых тестов.
Сегодняшней статьёй попробую ответить на эти вопросы. Материал будет полезен разработчикам, которые уже пишут модульные тесты и которые только думают внедрять их в свой проект. Мы с вами применим методики проектирования тестов и разберёмся, насколько они эффективны.
Читать статью
Teletype
Юнит-тесты: чек-лист методик проектирования
Меня зовут Василий Косарев, я Java‑разработчик в CDEK. Много раз мы слышали о необходимости писать модульные тесты, о том, что весь код...
🔥2
Как ускорить прогон тестов в многомодульном проекте Maven
Большое количество модулей Maven замедляет сборку проекта и время прогона тестов. Для того, чтобы сохранить многомодульную структуру проекта и быстро прогонять тесты, мы в Wrike написали новый инструмент — Maven Modules Merger, который сократил время некоторых сборок с 50 до 12 минут. В статье подробно расскажу о том, с какими проблемами нам помог справиться Maven Modules Merger и поделюсь подробностями его создания.
Читать статью
Большое количество модулей Maven замедляет сборку проекта и время прогона тестов. Для того, чтобы сохранить многомодульную структуру проекта и быстро прогонять тесты, мы в Wrike написали новый инструмент — Maven Modules Merger, который сократил время некоторых сборок с 50 до 12 минут. В статье подробно расскажу о том, с какими проблемами нам помог справиться Maven Modules Merger и поделюсь подробностями его создания.
Читать статью
Telegraph
Как ускорить прогон тестов в многомодульном проекте Maven
Большое количество модулей Maven замедляет сборку проекта и время прогона тестов. Для того, чтобы сохранить многомодульную структуру проекта и быстро прогонять тесты, мы в Wrike написали новый инструмент — Maven Modules Merger, который сократил время некоторых…
❤5🔥1
Запросы к MongoDB из Java с помощью билдера фильтров
В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.
Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые условные операции, которые MongoDB использует для ограничения результатов.
Читать статью
В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.
Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые условные операции, которые MongoDB использует для ограничения результатов.
Читать статью
Telegraph
Запросы к MongoDB из Java с помощью билдера фильтров
1. Обзор В этой статье разберемся, как использовать класс Filters для запросов к MongoDB. Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые условные операции, которые MongoDB использует для ограничения…
🔥2
Cтатья про собеседования в Яшу (Yandex Weekend Offer)
Может кому-то это будет интересно, даст возможность лучше подготовиться; или наоборот кто-то примет решение не участвовать.
Коротко о себе: 41 год, senior software developer, стаж > 20 лет. Однако, как я понял, эти собесы все равно для всех одинаковые, так чтоб все написанное актуально и для молодежи.
Итак, угораздило меня согласиться на т. н. «Weekend Offer на позицию разработчика на Kotlin». Вообще‑то мне больше нравится Scala, и опыта по ней гораздо больше, но рекрутерша была сильно настойчива, и я решил обновить экспиренс, а возможно, и прибавку в деньгах. И вот что было дальше.
Читать статью
Может кому-то это будет интересно, даст возможность лучше подготовиться; или наоборот кто-то примет решение не участвовать.
Коротко о себе: 41 год, senior software developer, стаж > 20 лет. Однако, как я понял, эти собесы все равно для всех одинаковые, так чтоб все написанное актуально и для молодежи.
Итак, угораздило меня согласиться на т. н. «Weekend Offer на позицию разработчика на Kotlin». Вообще‑то мне больше нравится Scala, и опыта по ней гораздо больше, но рекрутерша была сильно настойчива, и я решил обновить экспиренс, а возможно, и прибавку в деньгах. И вот что было дальше.
Читать статью
VK
Cтатья про собеседования в Яшу (Yandex Weekend Offer)
Может кому‑то это будет интересно, даст возможность лучше подготовиться; или наоборот кто‑то примет решение не участвовать.
🔥3
10 ошибок Configuration Management
695 строк конфига, одна валидация, 10 GB upload limit по умолчанию и env-переменная, которая никогда не срабатывает. Десять ошибок управления конфигурацией, собранных из реальных проектов.
Читать статью
695 строк конфига, одна валидация, 10 GB upload limit по умолчанию и env-переменная, которая никогда не срабатывает. Десять ошибок управления конфигурацией, собранных из реальных проектов.
Читать статью
VK
10 ошибок Configuration Management
Когда говорят про «configuration management», многие думают об Ansible, Puppet и Kubernetes. Я же хочу поговорить про управление конфигур..
❤2🔥2
Программирование без условных операторов
В программировании на C-подобных языках (и не только) частенько приходится использовать условные операторы, такие как If, else, switch — и особенно часто их используют новички, потому что их понимание и работа достаточно проста (в итоге, могут рождаться, иной раз, поистине монструозные конструкции — грешен, практиковал:-))).
К слову, многие отмечают, что последний оператор switch им приходилось видеть только на разнообразных олимпиадных задачках или школьных уроках, в то время как в реальной работе применяется он достаточно редко (а вы его используете, и насколько часто?).
Читать статью
В программировании на C-подобных языках (и не только) частенько приходится использовать условные операторы, такие как If, else, switch — и особенно часто их используют новички, потому что их понимание и работа достаточно проста (в итоге, могут рождаться, иной раз, поистине монструозные конструкции — грешен, практиковал:-))).
К слову, многие отмечают, что последний оператор switch им приходилось видеть только на разнообразных олимпиадных задачках или школьных уроках, в то время как в реальной работе применяется он достаточно редко (а вы его используете, и насколько часто?).
Читать статью
VK
Программирование без условных операторов
В программировании на C-подобных языках (и не только) частенько приходится использовать условные операторы, такие как If, else, switch —..
👍3🔥2
Агрегаты в микросервисах: гайд по проектированию бизнес-логики с примерами на Java
Разрабатываете микросервисы и чувствуете, что бизнес-логика превращается в хаос?
В статье на примере простого UserService разберем, как три правила агрегатов DDD и асинхронные доменные события помогают навести порядок.
Обсудим, почему нельзя хранить объектные ссылки между сервисами, как спроектировать агрегат на Spring Boot
Читать статью
Разрабатываете микросервисы и чувствуете, что бизнес-логика превращается в хаос?
В статье на примере простого UserService разберем, как три правила агрегатов DDD и асинхронные доменные события помогают навести порядок.
Обсудим, почему нельзя хранить объектные ссылки между сервисами, как спроектировать агрегат на Spring Boot
Читать статью
VK
Агрегаты в микросервисах: гайд по проектированию бизнес-логики с примерами на Java
Всем привет, меня зовут Сергей Прощаев, и в этой статье я расскажу, как не утонуть в бизнес-логике при переходе на микросервисы.
👍4🔥2
10 техник оптимизации Java, которые выведут вас на новый уровень
Когда Java-приложение внезапно начинает «подвисать», причина почти всегда кроется в прозаичных деталях: неоптимизированных циклах, неудачном выборе коллекций, забытом кэше или агрессивном GC. В этой статье — 10 практических техник, которые помогут выжать максимум из JVM без преждевременной микрооптимизации и шаманства. Только доказавшие свою эффективность подходы, которые реально работают в проде — от финтеха до высоконагруженных API.
Читать статью
Когда Java-приложение внезапно начинает «подвисать», причина почти всегда кроется в прозаичных деталях: неоптимизированных циклах, неудачном выборе коллекций, забытом кэше или агрессивном GC. В этой статье — 10 практических техник, которые помогут выжать максимум из JVM без преждевременной микрооптимизации и шаманства. Только доказавшие свою эффективность подходы, которые реально работают в проде — от финтеха до высоконагруженных API.
Читать статью
VK
10 техник оптимизации Java, которые выведут вас на новый уровень
Java-приложение тормозит? Вот как прокачать его в 2025-м.
🔥2
Garbage Collection и JVM
JVM работает как хорошо отлаженный механизм, автоматически распределяя и освобождая память. Это и есть суть Garbage Collection. Это процесс, который автоматически находит и удаляет объекты, которые больше не используются вашим приложением. Благодаря этому, разработчики могут сосредоточиться на логике приложения, не беспокоясь о ручном управлении памятью.
Знание того, как работает GC и JVM, необходимо каждому Java-разработчику. Правильное управление ресурсами напрямую влияет на производительность и стабильность приложений.
Читать статью
JVM работает как хорошо отлаженный механизм, автоматически распределяя и освобождая память. Это и есть суть Garbage Collection. Это процесс, который автоматически находит и удаляет объекты, которые больше не используются вашим приложением. Благодаря этому, разработчики могут сосредоточиться на логике приложения, не беспокоясь о ручном управлении памятью.
Знание того, как работает GC и JVM, необходимо каждому Java-разработчику. Правильное управление ресурсами напрямую влияет на производительность и стабильность приложений.
Читать статью
Teletype
Garbage Collection и JVM
JVM работает как хорошо отлаженный механизм, автоматически распределяя и освобождая память. Это и есть суть Garbage Collection. Это...
🔥3