Стандартные библиотеки классов Java

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

1. Основные библиотеки классов Java

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

Категория Название библиотеки Основная функциональность
Фреймворк коллекций java.util.ArrayList Реализация динамического массива
java.util.LinkedList Реализация двусвязного списка
java.util.HashMap Map на основе хеш-таблицы
java.util.Vector Реализует динамический массив
java.util.HashSet Set на основе хеш-таблицы
java.util.Scanner Получение пользовательского ввода
java.util.regex.Pattern 正则表达式
java.util.regex.Macher 正则表达式
IO/NIO java.io.File Операции с файлами и каталогами
java.nio.file.Files Вспомогательный класс для файловых операций
java.io.InputStream Базовый класс байтового потока
java.io.OutputStream Базовый класс байтового потока
Многопоточность java.lang.Thread Класс операций с потоками
java.util.concurrent.ExecutorService Управление пулом потоков
Дата и время java.time.LocalDate Обработка дат
java.time.LocalDateTime Обработка даты и времени
java.time.ZonedDateTime Дата и время с часовым поясом
java.util.Date Текущая дата
java.text.SimpleDateFormat Форматирование даты и времени
java.util.Calendar Работа с датой и временем
java.util.GregorianCalendar Реализует григорианский календарь
java.time.Instant Представляет момент времени на временной шкале
java.time.ChronoUnit Стандартная единица измерения времени
java.time.Period Представляет временной интервал между двумя датами
java.time.Duration Представляет период времени (часы, минуты, секунды, наносекунды)
Сетевое программирование java.net.URL Обработка URL
java.net.Socket Программирование сокетов

2. Распространённые сторонние библиотеки

Ниже перечислены сторонние библиотеки, широко используемые в экосистеме Java:

Категория Название библиотеки Основная функциональность Официальный сайт
Обработка JSON Jackson Сериализация/десериализация JSON https://github.com/FasterXML/jackson
Gson Библиотека JSON от Google https://github.com/google/gson
Модульное тестирование JUnit Фреймворк модульного тестирования Java https://junit.org/junit5/
Mockito Фреймворк для мок-тестирования https://site.mockito.org/
Логирование Log4j Фреймворк логирования https://logging.apache.org/log4j/
SLF4J Фреймворк-фасад для логирования https://www.slf4j.org/
Веб-разработка Spring Framework Фреймворк корпоративных приложений https://spring.io/projects/spring-framework
Spring Boot Фреймворк быстрой разработки приложений https://spring.io/projects/spring-boot
Базы данных Hibernate ORM-фреймворк https://hibernate.org/
MyBatis Фреймворк SQL-маппинга https://mybatis.org/mybatis-3/
Инструменты сборки Maven Сборка проекта и управление зависимостями https://maven.apache.org/
Gradle Гибкий инструмент сборки https://gradle.org/

3. Как выбрать подходящую библиотеку

3.1 Критерии оценки

  1. Функциональные требования: сначала уточните, какие функции нужны проекту
  2. Поддержка сообщества: активное сообщество означает лучшую поддержку и документацию
  3. Производительность: для приложений, чувствительных к производительности, требуется особое внимание
  4. Кривая обучения: учитывайте затраты команды на обучение
  5. Статус поддержки: проверьте, продолжает ли проект активно поддерживаться

3.2 Рекомендации по выбору версии

  • Отдавайте предпочтение версиям с долгосрочной поддержкой (LTS)
  • Избегайте использования версий, которые больше не поддерживаются
  • Новые проекты могут рассмотреть использование более новых стабильных версий

4. Примеры использования

4.1 Использование Jackson для обработки JSON

Пример

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonExample {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        try {
            // Объект в JSON
            String json = mapper.writeValueAsString(new User("Zhang San", 25));
            System.out.println(json);
           
            // JSON в объект
            User user = mapper.readValue(json, User.class);
            System.out.println(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4.2 Использование JUnit для модульного тестирования

Пример

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {
    @Test
    void testAdd() {
        Calculator calc = new Calculator();
        assertEquals(5, calc.add(2, 3));
    }
}
Другие расширения