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

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

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

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

1. Введение

В этом кратком руководстве мы узнаем, что вызывает ошибку среды выполнения Java java.lang.UnsupportedClassVersionError: Unsupported major.minor version и как ее исправить.

2. Взгляд на ошибку

Начнем с примера ошибки:

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

1. Обзор

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

2. Кольцевой буфер

Кольцевой буфер (или Circular Buffer) — это ограниченная круговая структура данных, которая используется для буферизации данных между двумя или более потоками . Поскольку мы продолжаем писать в кольцевой буфер, он циклически повторяется по мере достижения конца.

2.1. Как это работает

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

1. Обзор

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

Vavr — это функциональная библиотека для Java 8+, предоставляющая неизменяемые типы данных и функциональные управляющие структуры.

1.1. Зависимость от Maven

Чтобы использовать Vavr, вам нужно добавить зависимость:

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

1. Обзор

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

Для этого мы протестируем методы add(), get() и contains() для каждой библиотеки.

2. Сравнение производительности

Теперь давайте выясним, какая библиотека предлагает быстро работающий API коллекций примитивов .

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

1. Обзор

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

Мы также увидим их в контексте запроса, ответа, объектов сеанса, общих переменных и многопоточности.

2. Что такое сервлеты и их контейнеры

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

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

1. Введение

В этом руководстве мы рассмотрим реализацию кругового связанного списка в Java.

2. Круговой связанный список

Циклический связанный список — это вариант связанного списка , в котором последний узел указывает на первый узел, завершая полный круг узлов . Другими словами, этот вариант связанного списка не имеет пустого элемента в конце.

Благодаря этому простому изменению мы получаем некоторые преимущества:

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

1. Введение

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

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

2. Пул строковых констант

Пул констант String — это специальная область памяти. Когда мы объявляем строковый литерал, JVM создает объект в пуле и сохраняет его ссылку в стеке. Перед созданием каждого объекта String в памяти JVM выполняет несколько шагов, чтобы уменьшить нагрузку на память. `` ``

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

1. Обзор

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

2. Флаги ведения журнала сборщика мусора в Java 8 и более ранних версиях

Во-первых, давайте рассмотрим флаги JVM, связанные с ведением журнала GC в версиях Java до Java 9.

2.1. -XX:+ПечатьГК

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

1. Обзор

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

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

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

В этой статье мы сосредоточимся на одной конкретной реализации JVM: HotSpot JVM. Мы также можем использовать термины JVM и HotSpot JVM взаимозаменяемо на протяжении всей статьи.

2. Подсчет ссылок

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

1. Почему регистраторы?

При написании программы или разработке производственного корпоративного приложения использование System.out.println кажется самым простым и легким вариантом. В путь к классам не нужно добавлять дополнительные библиотеки и выполнять дополнительные настройки.

Но использование System.out.println сопряжено с несколькими недостатками, которые влияют на его удобство использования во многих ситуациях. В этом уроке мы обсудим, почему и когда мы хотим использовать Logger вместо старых простых System.out и System.err . Мы также покажем несколько быстрых примеров с использованием среды ведения журналов Log4J2.

2. Настройка

Прежде чем мы начнем, давайте рассмотрим необходимые зависимости и конфигурации Maven.