Java
@javalib
146 posts
Java

Реализации Microkernel архитектуры с помощью Java OSGI

Я хотел бы поделиться опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative). Этот подход является промежуточным вариантом между микро-сервисной и монолитной архитектурой. С одной стороны присутствует разделение между компонентами на уровне VM с другой - межкомпонентное взаимодействие происходит без участия сети, что ускоряет запросы.

Юнит-тесты: чек-лист методик проектирования

Меня зовут Василий Косарев, я Java‑разработчик в CDEK. Много раз мы слышали о необходимости писать модульные тесты, о том, что весь код должен быть ими покрыт. При этом мне не встречалось списка: какие именно методики лучше использовать при тестировании кода.

Java и базы данных NoSQL: практическое руководство

В постоянно развивающемся мире разработки программного обеспечения обращение к базам данных NoSQL становится все более популярным. Особенно часто их используют в приложениях, требующих масштабируемости, высокой производительности и гибкости в работе с неструктурированными данными. Java, проверенный временем и универсальный язык программирования, отлично сочетается с базами данных NoSQL.

Настройка CI/CD глазами разработчика

Введение

Как узнать, допускает ли изменения коллекция в Java?

Пишу эту статью, чтобы помочь Java-разработчикам понять, почему необходимо различать интерфейсы изменяемых (mutable) и неизменяемых (immutable) коллекций. Java — на редкость эффективный язык программирования с почти 30-летней историей. Java Collections Framework (JCF) — одна из наиболее активно используемых частей стандартной библиотеки Java — сыграл важную роль в успешном развитии языка. Сегодня Java продолжает совершенствоваться в соответствии с новыми требованиями, оставаясь в ряду лучших языков программирования. Однако, как и во многих других начинаниях, прошлые успехи не являются гарантией будущих достижений.

Обнаружение и предотвращение утечек памяти в Java

Несмотря на наличие в Java надежной автоматической сборки мусора, утечки памяти в этом языке остаются сложной проблемой для разработчиков. Такие утечки происходят, когда объекты больше не нужны приложению, но на них по-прежнему ссылаются другие объекты, что не позволяет сборщику мусора освободить занимаемую ими память. Со временем это может привести к значительному снижению производительности приложения и даже к его аварийному завершению из-за исключения OutOfMemoryError. Цель данной статьи — разобраться в тонкостях утечек памяти в Java, изучить методы их обнаружения и стратегии предотвращения.

Операция «K». Ищем баги в коде IntelliJ IDEA

В этой статье мы проверим проект IntelliJ IDEA Community Edition на наличие ошибок и отправим наши правки разработчикам. Крупный проект, Open Source база и использование статического анализатора при разработке. Сложная задача для PVS-Studio.

Деплой приложения на Java. Хостим проект через push в Git

В статье мы рассмотрим, как развернуть в облаке приложение на Java, на примере Spring Boot приложения с встраиваемой базой данных H2. А именно, мы попробуем развернуть приложение с простым REST API, сборкой Maven и тремя эндпоинтами, позволяющими добавить продукт, получить список всех продуктов и узнать общую стоимость всех продуктов.

Компоновка аннотаций в Spring

Да, вы можете засунуть несколько аннотаций в одну и использовать только ее. И что самое интересное - да, вы можете передавать аттрибуты в аннотации которые вы объединили (передавать атрибуты в мета-аннотации).

Эмулятор QUIK: как наладить тестирование вендорного продукта

Привет! С вами Роман Потапов и Сергей Попков, ведущие специалисты по тестированию РСХБ‑Интех. В сегодняшнем материале поговорим про эмулятор отечественного биржевого терминала QUIK — посредника между системой брокера и биржами. Программный комплекс QUIK получает информацию из бирж и передает ее в систему брокера, в другом случае сам брокер идет в QUIK и получает биржевую информацию от него. Поскольку тестирование с полноценным QUIK проводить невозможно, мы сделали собственный эмулятор.