Перейти к основному содержимому

1310 записей с тегом "Java"

Посмотреть все теги

· 3 мин. чтения

1. Обзор

В нашей повседневной работе мы часто не заботимся о распределении внутренней памяти JVM.

Однако знание основ модели памяти JVM пригодится для оптимизации производительности и улучшения качества кода .

В этой статье мы рассмотрим хранилище JVM для статических методов и членов.

2. Классификация памяти JVM

· 10 мин. чтения

1. Введение

Сегодня приложения нередко обслуживают тысячи или даже миллионы пользователей одновременно. Такие приложения требуют огромных объемов памяти. Однако управление всей этой памятью может легко повлиять на производительность приложения.

Чтобы решить эту проблему, в Java 11 был представлен сборщик мусора Z (ZGC) в качестве экспериментальной реализации сборщика мусора (GC).

В этом руководстве мы увидим, как ZGC удается поддерживать малое время паузы даже на кучах размером в несколько терабайт .

2. Основные понятия

· 3 мин. чтения

1. Обзор

В этом руководстве мы поймем назначение package-info.java и его полезность. Проще говоря, package-info — это файл Java, который можно добавить в любой пакет Java .

2. Назначение package-info

В настоящее время файл package-info.java служит двум целям:

  • Место для документации на уровне пакетов
  • Главная для аннотаций на уровне пакета

· 7 мин. чтения

1. Обзор

В экосистеме Java доступно множество веб-фреймворков, таких как Spring , Play и Grails . Однако ни один из них не может претендовать на то, чтобы быть полностью неизменным и объектно-ориентированным.

В этом руководстве мы рассмотрим платформу Takes и создадим простое веб-приложение, используя его общие функции, такие как маршрутизация, обработка запросов/ответов и модульное тестирование.

2. Берет

Takes — это неизменяемый веб-фреймворк Java 8, который не использует ни null , ни общедоступные статические методы.

· 4 мин. чтения

1. Обзор

Хотя методы в Java сделаны закрытыми , чтобы предотвратить их вызов из-за пределов класса-владельца, по какой-то причине нам все равно может понадобиться их вызывать.

Чтобы достичь этого, нам нужно обойти элементы управления доступом Java. Это может помочь нам добраться до угла библиотеки или позволить нам протестировать некоторый код, который обычно должен оставаться закрытым.

В этом кратком руководстве мы рассмотрим, как мы можем проверить функциональность метода независимо от его видимости. Мы рассмотрим два разных подхода: Java Reflection API и Spring ReflectionTestUtils .

2. Видимость вне нашего контроля

· 8 мин. чтения

1. Обзор

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

В этой статье мы увидим все эти сценарии.

2. Детали

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

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы обсудим очень полезную концепцию программирования, известную как Pair . Пары обеспечивают удобный способ обработки простого сопоставления ключа со значением и особенно полезны, когда мы хотим вернуть два значения из метода.

Простая реализация Pair доступна в основных библиотеках Java. Кроме того, некоторые сторонние библиотеки, такие как Apache Commons и Vavr, предоставили эту функциональность в своих соответствующих API.

2. Основная реализация Java

· 5 мин. чтения

1. Обзор

SAX, также известный как Simple API for XML , используется для разбора XML-документов.

В этом руководстве мы узнаем, что такое SAX и почему, когда и как его следует использовать.

2. SAX : простой API для XML

SAX — это API, используемый для анализа XML-документов. Он основан на событиях , генерируемых при чтении документа. Методы обратного вызова получают эти события. Пользовательский обработчик содержит эти методы обратного вызова.

· 7 мин. чтения

1. Обзор

С развитием технологий DevOps стало обычным создавать и развертывать приложение несколько раз в день.

Поэтому каждой сборке присваивается уникальный номер версии, чтобы мы могли различать сборки . Иногда возникает необходимость сравнить строки версий программно.

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

2. Использование maven-артефакта