HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Может ли Java-приложение использовать больше памяти, чем размер кучи?</a></li>
1 <ul><li><a>Может ли Java-приложение использовать больше памяти, чем размер кучи?</a></li>
2 <li><a>Выходя за рамки JUnit. Создаем сложные расширения</a></li>
2 <li><a>Выходя за рамки JUnit. Создаем сложные расширения</a></li>
3 <li><a>Запросы к MongoDB из Java с помощью билдера фильтров</a></li>
3 <li><a>Запросы к MongoDB из Java с помощью билдера фильтров</a></li>
4 <li><a>JDBC vs JPA</a></li>
4 <li><a>JDBC vs JPA</a></li>
5 <li><a>Java библиотека для работы с внешним сервисом по протоколу RESTful API</a></li>
5 <li><a>Java библиотека для работы с внешним сервисом по протоколу RESTful API</a></li>
6 <li><a>Как сгенерировать UUID в качестве первичных ключей при помощи Hibernate</a></li>
6 <li><a>Как сгенерировать UUID в качестве первичных ключей при помощи Hibernate</a></li>
7 <li><a>Парсинг JSON с помощью Jackson</a></li>
7 <li><a>Парсинг JSON с помощью Jackson</a></li>
8 <li><a>FAQ по var в Java</a></li>
8 <li><a>FAQ по var в Java</a></li>
9 <li><a>JUnit: тестирование методов, вызывающих System.exit()</a></li>
9 <li><a>JUnit: тестирование методов, вызывающих System.exit()</a></li>
10 <li><a>Абстрактные классы и интерфейсы в Java</a></li>
10 <li><a>Абстрактные классы и интерфейсы в Java</a></li>
11 </ul><h2>Может ли Java-приложение использовать больше памяти, чем размер кучи?</h2>
11 </ul><h2>Может ли Java-приложение использовать больше памяти, чем размер кучи?</h2>
12 <p>Возможно, вы замечали, что Java-приложение может превышать лимит памяти, указанный в параметре -Xmx (максимальный размер кучи). Дело в том, что JVM помимо кучи использует и другие области памяти. Давайте начнем со структуры памяти Java-приложения и источников потребления памяти.<strong><a>Читать</a></strong></p>
12 <p>Возможно, вы замечали, что Java-приложение может превышать лимит памяти, указанный в параметре -Xmx (максимальный размер кучи). Дело в том, что JVM помимо кучи использует и другие области памяти. Давайте начнем со структуры памяти Java-приложения и источников потребления памяти.<strong><a>Читать</a></strong></p>
13 <h2>Выходя за рамки JUnit. Создаем сложные расширения</h2>
13 <h2>Выходя за рамки JUnit. Создаем сложные расширения</h2>
14 <p>Переход от JUnit4 к новой версии во многом изменил способ расширения функциональных возможностей тестов. В JUnit4 основным механизмом расширения были правила, которые могли обернуть выполнение теста в дополнительную логическую обработку. Например, в реализации абстрактного класса ExternalResource встраивали два дополнительных вызова методов инициализации и финализации. Модель JUnit 5 существенно дополнена, и в этой статье мы<strong><a>рассмотрим</a></strong>, как можно создавать собственные расширения для JUnit Platform.</p>
14 <p>Переход от JUnit4 к новой версии во многом изменил способ расширения функциональных возможностей тестов. В JUnit4 основным механизмом расширения были правила, которые могли обернуть выполнение теста в дополнительную логическую обработку. Например, в реализации абстрактного класса ExternalResource встраивали два дополнительных вызова методов инициализации и финализации. Модель JUnit 5 существенно дополнена, и в этой статье мы<strong><a>рассмотрим</a></strong>, как можно создавать собственные расширения для JUnit Platform.</p>
15 <h2>Запросы к MongoDB из Java с помощью билдера фильтров</h2>
15 <h2>Запросы к MongoDB из Java с помощью билдера фильтров</h2>
16 <p>В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.<strong><a>Читать</a></strong></p>
16 <p>В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.<strong><a>Читать</a></strong></p>
17 <h2>JDBC vs JPA</h2>
17 <h2>JDBC vs JPA</h2>
18 <p>В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java - не исключение. Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать? Но я еще слышал о Spring Data JDBC. А как насчет Spring Data JPA? В этой статье мы<a><strong>поговорим</strong></a>о JDBC и JPA: истории появления и некоторых особенностях.</p>
18 <p>В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java - не исключение. Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать? Но я еще слышал о Spring Data JDBC. А как насчет Spring Data JPA? В этой статье мы<a><strong>поговорим</strong></a>о JDBC и JPA: истории появления и некоторых особенностях.</p>
19 <h2>Java библиотека для работы с внешним сервисом по протоколу RESTful API</h2>
19 <h2>Java библиотека для работы с внешним сервисом по протоколу RESTful API</h2>
20 <p>Для работы с внешними сервисами по протоколу RESTful API обычно бывает вполне достаточно встроенных средств языка Java или внешних библиотек, используемых в коде приложения там, где это необходимо. Пример - библиотека java.net.http.HttpClient, пользоваться ей очень легко. Для Spring Framework все еще лучше - встроенный RestTemplate позволяет делать почти все. Однако, иногда в разработке может возникнуть ситуация, когда этого недостаточно.</p>
20 <p>Для работы с внешними сервисами по протоколу RESTful API обычно бывает вполне достаточно встроенных средств языка Java или внешних библиотек, используемых в коде приложения там, где это необходимо. Пример - библиотека java.net.http.HttpClient, пользоваться ей очень легко. Для Spring Framework все еще лучше - встроенный RestTemplate позволяет делать почти все. Однако, иногда в разработке может возникнуть ситуация, когда этого недостаточно.</p>
21 <p>Рассмотрим именно такую ситуацию на примере mlsgrid - коммерческого RestAPI для получения информации об объектах недвижимости.<a><strong>Читать далее</strong></a></p>
21 <p>Рассмотрим именно такую ситуацию на примере mlsgrid - коммерческого RestAPI для получения информации об объектах недвижимости.<a><strong>Читать далее</strong></a></p>
22 <h2>Как сгенерировать UUID в качестве первичных ключей при помощи Hibernate</h2>
22 <h2>Как сгенерировать UUID в качестве первичных ключей при помощи Hibernate</h2>
23 <p>Большинство разработчиков предпочитают числовые первичные ключи, потому что они эффективны в использовании и их легко сгенерировать. Но это не означает, что первичный ключ <em>должен</em> быть числом.</p>
23 <p>Большинство разработчиков предпочитают числовые первичные ключи, потому что они эффективны в использовании и их легко сгенерировать. Но это не означает, что первичный ключ <em>должен</em> быть числом.</p>
24 <p>Например, в последние годы приобрели популярность UUID. Основным преимуществом UUID является его глобальная уникальность, которая дает огромное преимущество для распределенных систем.<strong><a>Читать дальше</a></strong></p>
24 <p>Например, в последние годы приобрели популярность UUID. Основным преимуществом UUID является его глобальная уникальность, которая дает огромное преимущество для распределенных систем.<strong><a>Читать дальше</a></strong></p>
25 <h2>Парсинг JSON с помощью Jackson</h2>
25 <h2>Парсинг JSON с помощью Jackson</h2>
26 <p>Большая часть веба на сегодняшний день обменивается данными в формате JSON. Веб-серверы, веб-приложения и мобильные приложения, даже устройства IoT общаются друг с другом, используя JSON. Простой и гибкий способ обработки JSON необходим любому программному обеспечению, чтобы выжить в современном мире.<strong><a>Продолжение</a></strong></p>
26 <p>Большая часть веба на сегодняшний день обменивается данными в формате JSON. Веб-серверы, веб-приложения и мобильные приложения, даже устройства IoT общаются друг с другом, используя JSON. Простой и гибкий способ обработки JSON необходим любому программному обеспечению, чтобы выжить в современном мире.<strong><a>Продолжение</a></strong></p>
27 <h2>FAQ по var в Java</h2>
27 <h2>FAQ по var в Java</h2>
28 <p>Локальные переменные - это "рабочие лошадки" Java. Они используются для хранения промежуточных результатов вычислений. И, в отличие от полей, объявляются, инициализируются и используются в одном блоке. Для понимания кода часто более важны имя и инициализатор, чем тип локальной переменной. В имени и инициализаторе столько же информации, сколько и в типе.<strong><a>Читать далее</a></strong></p>
28 <p>Локальные переменные - это "рабочие лошадки" Java. Они используются для хранения промежуточных результатов вычислений. И, в отличие от полей, объявляются, инициализируются и используются в одном блоке. Для понимания кода часто более важны имя и инициализатор, чем тип локальной переменной. В имени и инициализаторе столько же информации, сколько и в типе.<strong><a>Читать далее</a></strong></p>
29 <h2>JUnit: тестирование методов, вызывающих System.exit()</h2>
29 <h2>JUnit: тестирование методов, вызывающих System.exit()</h2>
30 <p>В определенных ситуациях нам может потребоваться, чтобы метод вызывал System.exit() и завершал работу приложения. Например, в случае если приложение должно быть запущено только один раз, а затем завершено, или в случае фатальных ошибок, таких как потеря соединений с базой данных.</p>
30 <p>В определенных ситуациях нам может потребоваться, чтобы метод вызывал System.exit() и завершал работу приложения. Например, в случае если приложение должно быть запущено только один раз, а затем завершено, или в случае фатальных ошибок, таких как потеря соединений с базой данных.</p>
31 <p>Если метод вызывает System.exit(), вызвать его из юнит-тестов и делать ассерты становится трудно, потому что это приведет к завершению юнит-теста. В этом посте мы<strong><a>рассмотрим</a></strong>, как тестировать методы, вызывающие System.exit() с использованием фреймворка JUnit.</p>
31 <p>Если метод вызывает System.exit(), вызвать его из юнит-тестов и делать ассерты становится трудно, потому что это приведет к завершению юнит-теста. В этом посте мы<strong><a>рассмотрим</a></strong>, как тестировать методы, вызывающие System.exit() с использованием фреймворка JUnit.</p>
32 <h2>Абстрактные классы и интерфейсы в Java</h2>
32 <h2>Абстрактные классы и интерфейсы в Java</h2>
33 <p>Абстрактные классы и интерфейсы встречаются повсюду как в Java-приложениях, так и в самом Java Development Kit. Каждый из них служит своей цели:</p>
33 <p>Абстрактные классы и интерфейсы встречаются повсюду как в Java-приложениях, так и в самом Java Development Kit. Каждый из них служит своей цели:</p>
34 <ul><li>Интерфейс - это контракт, который должен быть реализован конкретным классом.</li>
34 <ul><li>Интерфейс - это контракт, который должен быть реализован конкретным классом.</li>
35 <li>Абстрактный класс похож на обычный, но отличается тем, что может содержать абстрактные методы - методы без реализации, и нельзя создать экземпляр абстрактного класса.</li>
35 <li>Абстрактный класс похож на обычный, но отличается тем, что может содержать абстрактные методы - методы без реализации, и нельзя создать экземпляр абстрактного класса.</li>
36 </ul><p>Многие разработчики не видят разницы между интерфейсами и абстрактными классами, но на самом деле между ними есть<strong><a>существенное различие</a></strong>.</p>
36 </ul><p>Многие разработчики не видят разницы между интерфейсами и абстрактными классами, но на самом деле между ними есть<strong><a>существенное различие</a></strong>.</p>
37  
37