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

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

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

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

1. Обзор

Сила числа означает, сколько раз использовать число при умножении. Это можно легко рассчитать на Java.

2. Пример Math.pow

Прежде чем рассматривать пример, давайте посмотрим на сигнатуру метода:

public double pow(double a, double b)

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

1. Обзор

В этой быстрой статье мы рассмотрим фундаментальный класс в Java — StringTokenizer .

2. Строковый токенизатор

Класс StringTokenizer помогает нам разделить строки на несколько токенов.

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

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

1. Обзор

В этой статье мы рассмотрим SynchronousQueue из пакета java.util.concurrent .

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

2. Обзор API

SynchronousQueue поддерживает только две операции: take() и put(), и обе они блокируют .

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

1. Обзор

В этой статье мы рассмотрим конструкцию TransferQueue из стандартного пакета java.util.concurrent .

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

Реализация на самом деле похожа на BlockingQueue , но дает нам новую возможность реализовать форму обратного давления. Это означает, что когда производитель отправляет сообщение потребителю с помощью метода transfer() , производитель будет оставаться заблокированным до тех пор, пока сообщение не будет использовано.

2. Один производитель — ноль потребителей

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

1. Обзор

В Java 8 были добавлены коллекторы , которые помогали накапливать входные элементы в изменяемые контейнеры, такие как Map , List и Set .

В этой статье мы рассмотрим два новых сборщика, добавленных в Java 9: Collectors.filtering и Collectors.flatMapping , которые используются в сочетании с Collectors.grouping , предоставляя интеллектуальные коллекции элементов.

2. Фильтрующий коллектор

Collectors.filtering похож на Stream filter() ; он используется для фильтрации элементов ввода, но используется для разных сценариев. Фильтр Stream используется в цепочке потоков, тогда как фильтрация это Collector , который был разработан для использования вместе с groupingBy . ``

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

1. Обзор

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

Но сколько мы на самом деле можем создать? Ответ не является точным числом, потому что оно зависит от множества факторов.

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

2. Память стека

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

1. Введение

Java KeyStore — это контейнер сертификатов безопасности, которые мы можем использовать при написании кода Java. Хранилища ключей Java содержат один или несколько сертификатов с соответствующими закрытыми ключами и создаются с помощью keytool , который поставляется с JDK.

В этом руководстве мы преобразуем хранилище ключей Java в формат PEM (Privacy-Enhanced Mail), используя комбинацию keytool и openssl. Шаги будут включать использование keytool для преобразования JKS в хранилище ключей PKCS#12, а затем openssl для преобразования хранилища ключей PKCS#12 в файл PEM.

keytool доступен с JDK, и мы можем загрузить openssl с веб-сайта OpenSSL.

2. Форматы файлов

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

1. Обзор

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

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

2. Необходимость в пользовательских исключениях

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

1. Введение

В этом коротком руководстве мы покажем, как преобразовать массив примитивов в массив объектов и наоборот.

2. Проблема

Допустим, у нас есть массив примитивов, таких как int[] , и мы хотели бы преобразовать его в массив объектов Integer[] . Мы могли бы интуитивно попробовать приведение:

Integer[] integers = (Integer[])(new int[]{0,1,2,3,4});