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

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

1. Обзор

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

2. джкмд

Чтобы найти информацию о куче и метапространстве работающего приложения Java, мы можем использовать утилиту командной строки jcmd :

jcmd  GC.heap_info

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

1. Обзор

В этом кратком руководстве мы научимся читать список доверенных сертификатов в Java на быстрых и практических примерах.

2. Загрузка хранилища ключей

Java хранит доверенные сертификаты в специальном файле с именем cacerts , который находится в папке установки Java.

Давайте начнем с чтения этого файла и загрузки его в KeyStore :

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

1. Обзор

В этом руководстве мы рассмотрим ошибку java.lang.NoSuchMethodError и некоторые способы ее обработки.

2. Ошибка NoSuchMethodError

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

В большинстве случаев мы можем поймать эту ошибку во время компиляции. Следовательно , это не большая проблема. Однако иногда его можно было выкинуть во время выполнения , тогда найти его становится немного сложно. Согласно документации Oracle , эта ошибка может возникнуть во время выполнения, если класс был изменен несовместимым образом.

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

1. Обзор

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

2. Моделирование базовой вероятности

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

В этом случае мы будем использовать класс SplittableRandom , потому что он обеспечивает качественную случайность и работает относительно быстро:

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

1. Обзор

В этом кратком руководстве мы обсудим, как мы можем проверить, является ли класс абстрактным или нет в Java, с помощью Reflection API.

2. Пример класса и интерфейса

Чтобы продемонстрировать это, мы создадим класс AbstractExample и интерфейс InterfaceExample :

public abstract class AbstractExample {

public abstract LocalDate getLocalDate();

public abstract LocalTime getLocalTime();
}

public interface InterfaceExample {
}

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

1. Обзор

В этом руководстве мы обсудим принцип единой ответственности как один из SOLID-принципов объектно-ориентированного программирования.

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

*SRP = принцип единой ответственности

2. Принцип единой ответственности

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

1. Обзор

В этом коротком уроке мы познакомимся с командой keytool . Мы узнаем, как использовать keytool для создания нового сертификата и проверки информации для этого сертификата.

2. Что такое keytool?

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

В следующих разделах мы рассмотрим различные функции этой утилиты.

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

1. Обзор

В этой статье мы сравним Java servlet Filter и Spring MVC HandlerInterceptor , а также когда один из них может быть предпочтительнее другого.

2. Фильтровать _

Фильтры являются частью веб-сервера, а не среды Spring. Для входящих запросов мы можем использовать фильтры, чтобы манипулировать и даже блокировать запросы от достижения любого сервлета . Наоборот, мы также можем заблокировать получение ответов от клиента.

Spring Security — отличный пример использования фильтров для аутентификации и авторизации. Чтобы настроить Spring Security, нам просто нужно добавить один фильтр, DelegatingFilterProxy . Затем Spring Security может перехватывать весь входящий и исходящий трафик. Вот почему Spring Security можно использовать вне Spring MVC .

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

1. Избегайте повторяющегося кода

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

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

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

<dependencies>
...
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
...
</dependencies>

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

1. Обзор

В этом кратком руководстве мы увидим, что заставляет Java создавать экземпляр исключения ExceptionInInitializerError .

Начнем с небольшого количества теории. Затем мы увидим несколько примеров этого исключения на практике.

2. Ошибка ExceptionInInitializer

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