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

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

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

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

1. Введение

Аннотации Java — это механизм добавления метаданных в исходный код. Это мощная часть Java, добавленная в JDK5. Аннотации предлагают альтернативу использованию дескрипторов XML и интерфейсов маркеров.

Хотя мы можем прикреплять их к пакетам, классам, интерфейсам, методам и полям, аннотации сами по себе не влияют на выполнение программы.

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

2. Создание пользовательских аннотаций

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

1. Обзор

В этом кратком руководстве мы рассмотрим, как преобразовать InputStream в byte[] и ByteBuffer — сначала с помощью обычной Java, затем с помощью Guava и Commons IO.

Эта статья является частью серии «Java — Back to Basic» здесь, на ForEach.

2. Преобразование в байтовый массив

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

1. Обзор

В этом руководстве мы рассмотрим, как мы можем загружать вложения электронной почты с помощью Java. Для этого нам понадобится JavaMail API . API JavaMail доступен либо как зависимость Maven, либо как отдельные файлы jar.

2. Обзор API JavaMail

JavaMail API используется для составления, отправки и получения электронных писем с почтового сервера, такого как Gmail. Он обеспечивает основу для системы электронной почты с использованием абстрактных классов и интерфейсов. API поддерживает большинство протоколов обмена сообщениями в Интернете RFC822 и MIME, таких как SMTP, POP, IMAP, MIME и NNTP.

3. Настройка API JavaMail

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

1. Обзор

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

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

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

2. Локальные переменные

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

1. Обзор

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

Далее мы рассмотрим методы isAlphabetic () и isLetter() класса Character в Java. Наконец, мы рассмотрим сходства и различия между этими методами.

2. Типы общих категорий символов Unicode

Набор символов Unicode (UCS) содержит 1 114 112 кодовых точек: от U+0000 до U+10FFFF. Символы и диапазоны кодовых точек сгруппированы по категориям.

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

1. Обзор

Большинство библиотек Java доступны в виде файлов JAR . В этом руководстве мы рассмотрим, как получить имена классов внутри заданного файла JAR из командной строки и из программы Java.

Затем мы рассмотрим пример программы на Java, загружающей классы из заданного файла JAR во время выполнения.

2. Пример файла JAR

В этом руководстве мы возьмем файл stripe-0.0.1-SNAPSHOT.jar в качестве примера, чтобы узнать, как получить имена классов в файле JAR:

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

1. Обзор

Иногда мы можем столкнуться с AbstractMethodError во время выполнения нашего приложения. Если мы плохо знаем эту ошибку, может потребоваться некоторое время, чтобы определить причину проблемы.

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

2. Введение в AbstractMethodError

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

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

1. Обзор

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

Во-первых, мы начнем с обоснования отказа от использования boolean[] . Затем, ознакомившись с внутренним устройством BitSet , мы более подробно рассмотрим его API.

2. Массив битов

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

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

1. Обзор

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

2. Использование Files.newDirectoryStream

Начиная с Java 7, метод Files.newDirectoryStream возвращает DirectoryStream <Path> для перебора всех записей в каталоге . Таким образом, мы можем использовать этот API, чтобы проверить, является ли данный каталог пустым или нет:

public boolean isEmpty(Path path) throws IOException {
if (Files.isDirectory(path)) {
try (DirectoryStream<Path> directory = Files.newDirectoryStream(path)) {
return !directory.iterator().hasNext();
}
}

return false;
}

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

1. Обзор

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

2. Пример

Чтобы продемонстрировать это, мы создадим класс StaticUtility с некоторыми статическими методами:

public class StaticUtility {

public static String getAuthorName() {
return "Umang Budhwar";
}

public static LocalDate getLocalDate() {
return LocalDate.now();
}

public static LocalTime getLocalTime() {
return LocalTime.now();
}
}