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

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

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

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

1. Обзор

В этом кратком руководстве мы сравним две операции сортировки Arrays.sort(Object[]) и Arrays.sort(int[]) .

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

2. Массивы.sort(Объект[])

Прежде чем мы двинемся дальше, важно иметь в виду, что Arrays.sort() работает как для примитивных, так и для ссылочных массивов.

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

1. Обзор

Операторы используются в языке Java для работы с данными и переменными.

В этом руководстве мы рассмотрим побитовые операторы и то, как они работают в Java.

2. Побитовые операторы

Побитовые операторы работают с двоичными цифрами или битами входных значений. Мы можем применить их к целочисленным типам — long, int, short, char и byte.

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

1. Обзор

В этом кратком руководстве мы покажем, как мы можем получить ошибку Cannot reference «X» до вызова конструктора супертипа и как ее избежать.

2. Цепочка конструкторов

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

Мы можем вызвать конструктор того же класса с помощью ключевого слова this или мы можем вызвать конструктор суперкласса с помощью ключевого слова super .

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

1. Обзор

Обычно удобно объединять множество файлов классов Java в один архивный файл.

В этом руководстве мы рассмотрим все тонкости работы с файлами jar — или J ava AR chive — в Java.

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

2. Настройка Java-программы

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

1. Обзор

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

Как обычно, мы также приведем простой пример кода.

2. Паттерн посредника

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

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

1. Обзор

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

Как обычно, мы также приведем простой пример кода.

2. Шаблон нулевого объекта

В большинстве объектно-ориентированных языков программирования нам не разрешено использовать нулевую ссылку. Вот почему нам часто приходится писать нулевые проверки:

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

1. Обзор

Вы когда-нибудь задумывались, почему Java-приложения потребляют гораздо больше памяти, чем указано в хорошо известных флагах настройки -Xms и -Xmx ? По ряду причин и возможных оптимизаций JVM может выделять дополнительную собственную память. Эти дополнительные выделения могут в конечном итоге увеличить потребляемую память сверх ограничения -Xmx .

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

2. Нативные распределения

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

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

1. Введение

Spring Cloud Data Flow — это набор инструментов для построения конвейеров интеграции и обработки данных в реальном времени.

Конвейеры в данном случае — это приложения Spring Boot, созданные с использованием фреймворков Spring Cloud Stream или Spring Cloud Task .

В этом руководстве мы покажем, как использовать Spring Cloud Data Flow с Apache Spark .

2. Локальный сервер потока данных

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

1. Обзор

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

Для получения дополнительной информации о том, как настроить библиотеку, обратитесь к нашему руководству по Deeplearning4j .

2. Классификация изображений

2.1. Постановка задачи

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

1. Введение

В этом руководстве мы рассмотрим процесс инициализации статической переменной. Виртуальная машина Java (JVM) следует этому процессу во время загрузки класса.

2. Процесс инициализации

На высоком уровне JVM выполняет следующие шаги:

./3d372a83bd92f4854b7134740c0cd399.jpg