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

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

1. Введение

Java 9 привнесла ряд новых полезных функций для разработчиков.

Одним из них является API-интерфейс java.lang.invoke.VarHandle , представляющий дескрипторы переменных, который мы собираемся изучить в этой статье.

2. Что такое дескрипторы переменных?

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

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

1. Обзор

В этой статье мы рассмотрим концепцию слабой ссылки в языке Java.

Мы собираемся объяснить, что это такое, для чего они используются и как правильно с ними работать.

2. Слабые ссылки

Объект со слабой ссылкой очищается сборщиком мусора, когда он слабо доступен.

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

1. Весна и Ява

>> Состояние Валгаллы: предыстория, объектная модель и модель виртуальной машины [ openjdk.java.net ]

Revisit Project Valhalla — три документа, описывающие текущее состояние объектов-значений, примитивных классов и специализированных дженериков.

>> Go, Go, GraalVM с Spring Native: Мои приключения в Native Image-ville [ spring.io ]

Давайте посмотрим, как Spring Native и GraalVM работают с MyBatis, RSocket, K8S Java Client и GraphQL . Интересное исследование.

>> Представляем kotlinx.coroutines 1.6.0 [ blog.jetbrains.com ]

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

1. Введение

Как мы знаем, одной из основных сильных сторон Java является ее переносимость — это означает, что после того, как мы напишем и скомпилируем код, результатом этого процесса будет независимый от платформы байт-код.

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

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

Может быть несколько причин, по которым необходимо использовать собственный код:

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

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

1. Введение

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

Он имеет несколько модулей, и в этой статье мы подробно разработаем модуль metrics-core, модуль metrics-healthchecks, модуль metrics-servlets и модуль metrics-servlet, а также набросаем остальные для справки.

2. Метрики модуля-ядро

2.1. Зависимости Maven

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

1. Обзор

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

В нашем первом примере мы будем использовать класс File для запроса определенной информации о диске.

Затем мы проанализируем использование памяти и информацию о процессоре, углубившись в класс ManagementFactory .

Наконец, мы коснемся того, как отслеживать эти ключевые показатели во время выполнения с помощью Java Profilers .

2. Введение в класс файлов

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

1. Обзор

Spectator — это библиотека для инструментирования кода и сбора данных для серверных систем многомерных временных рядов. Spectator был создан в Netflix для сбора различных метрик, и соответствующая серверная система, используемая с ним, в основном представляет собой Atlas .

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

2. Зависимости Maven

Прежде чем мы углубимся в реальную реализацию, давайте добавим зависимость Spectator к файлу pom.xml :

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

1. Обзор

В этом кратком руководстве мы рассмотрим, как определить пользовательские фильтры и указать порядок их вызова с помощью Spring Boot.

2. Определение фильтров и порядка вызова

Начнем с создания двух фильтров:

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

1. Введение

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

С другой стороны, мы можем использовать систему мониторинга, управляемую аннотациями, например Dropwizard Metrics .

В этом руководстве мы создадим простой класс, используя Metrics AspectJ и аннотацию Dropwizard Metrics @ Timed .

2. Настройка Мавена

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

1. Обзор

В этом руководстве мы рассмотрим преобразования, которые должны происходить между внутренними объектами приложения Spring и внешними DTO (объектами передачи данных), которые публикуются обратно клиенту.

2. Сопоставитель модели

Давайте начнем с представления основной библиотеки, которую мы собираемся использовать для преобразования объекта в DTO, ModelMapper .