Какие основные источники данных и API вы знаете в Java?

«Какие основные источники данных и API вы знаете в Java?» — вопрос из категории Софт-скиллы, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

В Java существует богатый набор стандартных API для работы с различными источниками данных.

Ключевые источники и API:

  1. Коллекции (Collections Framework): Базовые структуры данных.

    • List (ArrayList, LinkedList)
    • Set (HashSet, TreeSet)
    • Map (HashMap, TreeMap)
  2. Ввод-Вывод (I/O & NIO.2): Для работы с потоками и файлами.

    • Классы InputStream/OutputStream, Reader/Writer.
    • Современный API java.nio.file (Files, Paths, Path).
  3. Базы данных (JDBC): Стандартный интерфейс для работы с СУБД.

    • Connection, Statement, PreparedStatement, ResultSet.
  4. Потоки данных (Stream API): Для декларативной обработки коллекций.

    • Stream<T>, операции map, filter, reduce, collect.
  5. Сеть (Networking): Для сетевых операций.

    • Socket, ServerSocket.
    • URL и HttpURLConnection для HTTP-запросов.

Пример чтения файла с помощью NIO.2:

import java.nio.file.*;
import java.util.List;

Path path = Paths.get("data.txt");
List<String> lines = Files.readAllLines(path); // Чтение всех строк
lines.forEach(System.out::println);

Пример использования JDBC (с try-with-resources):

try (Connection conn = DriverManager.getConnection(dbUrl, user, password);
     PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE active = ?")) {
    stmt.setBoolean(1, true);
    ResultSet rs = stmt.executeQuery();
    while (rs.next()) {
        System.out.println(rs.getString("username"));
    }
} catch (SQLException e) {
    e.printStackTrace();
}