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

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

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

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

1. Обзор

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

Мы рассмотрим, как генерировать эти значения, используя устаревший API java.util.Date , а также новую библиотеку даты и времени из Java 8.

2. Случайная дата и время

Даты и время представляют собой не что иное, как 32-битные целые числа по сравнению с временем эпохи , поэтому мы можем генерировать случайные временные значения, следуя этому простому алгоритму:

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

1. Обзор

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

2. Использование String.substring()

Самый простой способ — использовать встроенный метод substring() класса String .

Чтобы удалить последний символ данной строки, мы должны использовать два параметра: 0 в качестве начального индекса и индекс предпоследнего символа. Мы можем добиться этого, вызвав метод String length() и вычтя 1 из результата.

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

1. Обзор

В этом кратком руководстве мы узнаем об операторе Java XOR . Мы обсудим немного теории об операциях XOR , а затем посмотрим, как их реализовать в Java.

2. Оператор XOR

Начнем с напоминания о семантике операции XOR . Логическая операция XOR , исключающее или , принимает два логических операнда и возвращает значение true тогда и только тогда, когда операнды различны. И наоборот, он возвращает false, если два операнда имеют одинаковое значение.

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

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

1. Введение

Сборщик мусора (GC) обрабатывает управление памятью в Java. В результате программистам не нужно явно заботиться о выделении и освобождении памяти.

В Java JVM вначале резервирует определенный объем памяти. Иногда фактическая используемая память значительно меньше зарезервированного объема. В таких случаях мы предпочитаем возвращать лишнюю память ОС.

Весь этот процесс зависит от алгоритмов, используемых для сборки мусора . Следовательно, мы можем выбрать тип GC и JVM в соответствии с требуемым поведением.

В этом руководстве мы рассмотрим управление памятью с помощью GC и его взаимодействие с ОС.

2. Организация памяти JVM

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

1. Обзор

Классы Buffer — это основа, на которой построен Java NIO. Однако в этих классах наиболее предпочтительным является класс ByteBuffer . Это потому, что тип byte является наиболее универсальным. Например, мы можем использовать байты для составления других небулевых примитивных типов в JVM. Кроме того, мы можем использовать байты для передачи данных между JVM и внешними устройствами ввода-вывода.

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

2. Создание байтового буфера

ByteBuffer — это абстрактный класс, поэтому мы не можем создать новый экземпляр напрямую. Однако он предоставляет статические фабричные методы для облегчения создания экземпляра. Вкратце, есть два способа создать экземпляр ByteBuffer , путем выделения или переноса:

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

1. Введение

Метод charAt() класса String возвращает символ в заданной позиции строки . Это полезный метод, доступный в версии 1.0 языка Java.

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

2. Метод charAt ()

Давайте посмотрим на сигнатуру метода из класса String :

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

1. Обзор

В этом руководстве мы познакомим вас с двумя тесно связанными между собой методами: equals() и hashCode() . Мы сосредоточимся на их отношениях друг с другом, на том, как правильно их переопределить и почему мы должны переопределять оба или ни то, ни другое.

2. равно()

Класс Object определяет оба метода equals() и hashCode() , что означает, что эти два метода неявно определены в каждом классе Java, включая те, которые мы создаем:

class Money {
int amount;
String currencyCode;
}

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

Метод replaceAll() заменяет все вхождения строки в другую строку , соответствующую регулярному выражению.

Это похоже на функцию replace() , с той лишь разницей, что в replaceAll() заменяемая строка является регулярным выражением , а в replace()строкой.

Доступные подписи

public String replaceAll(String regex, String replacement)

Пример

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

1. Обзор

В JPA версии 2.0 и ниже нет удобного способа сопоставления значений Enum со столбцом базы данных. Каждый вариант имеет свои ограничения и недостатки. Этих проблем можно избежать, используя функции JPA 2.1.

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

2. Использование аннотации @Enumerated

Наиболее распространенным вариантом сопоставления значения перечисления с его представлением базы данных в JPA до версии 2.1 является использование аннотации @Enumerated . Таким образом, мы можем указать провайдеру JPA преобразовать перечисление в его порядковое или строковое значение.

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

1. Обзор

SHA (Secure Hash Algorithm) — одна из популярных криптографических хеш-функций. Криптографический хэш можно использовать для подписи текста или файла данных.

В этом руководстве давайте посмотрим, как мы можем выполнять операции хеширования SHA-256 и SHA3-256, используя различные библиотеки Java.

Алгоритм SHA-256 генерирует почти уникальный 256-битный (32-байтовый) хэш фиксированного размера. Это односторонняя функция, поэтому результат не может быть расшифрован обратно в исходное значение.

В настоящее время хеширование SHA-2 широко используется, так как считается самым безопасным алгоритмом хеширования в криптографической сфере.

SHA-3 — это новейший стандарт безопасного хеширования после SHA-2. По сравнению с SHA-2, SHA-3 предлагает другой подход к созданию уникального одностороннего хэша, и он может быть намного быстрее на некоторых аппаратных реализациях. Подобно SHA-256, SHA3-256 — это 256-битный алгоритм фиксированной длины в SHA-3.