Gängige Java-Klassenbibliotheken

Java bietet einen umfangreichen Satz an Klassenbibliotheken. Im Folgenden sind einige der am häufigsten verwendeten Klassen aufgeführt.

1. Java-Kernklassenbibliotheken

Die Java-Standardbibliothek bietet eine umfangreiche Sammlung integrierter Bibliotheken. Im Folgenden sind einige häufig verwendete Kernbibliotheken aufgeführt:

Kategorie Bibliotheksname Hauptfunktionalität
Sammlungsframework java.util.ArrayList Implementierung eines dynamischen Arrays
java.util.LinkedList Implementierung einer doppelt verketteten Liste
java.util.HashMap Hashtabellenbasierte Map
java.util.Vector Implementiert ein dynamisches Array
java.util.HashSet Hashtabellenbasiertes Set
java.util.Scanner Benutzereingabe abrufen
java.util.regex.Pattern Reguläre Ausdrücke
java.util.regex.Macher Reguläre Ausdrücke
IO/NIO java.io.File Datei- und Verzeichnisoperationen
java.nio.file.Files Hilfsklasse für Dateioperationen
java.io.InputStream Basisklasse für Byte-Streams
java.io.OutputStream Basisklasse für Byte-Streams
Multithreading java.lang.Thread Thread-Operationsklasse
java.util.concurrent.ExecutorService Thread-Pool-Verwaltung
Datum und Uhrzeit java.time.LocalDate Datumsverarbeitung
java.time.LocalDateTime Handhabung von Datum und Uhrzeit
java.time.ZonedDateTime Datum und Uhrzeit mit Zeitzone
java.util.Date Aktuelles Datum
java.text.SimpleDateFormat Formatierung von Datum und Uhrzeit
java.util.Calendar Datum und Uhrzeit behandeln
java.util.GregorianCalendar Implementiert den gregorianischen Kalender
java.time.Instant Stellt einen momentanen Zeitpunkt auf der Zeitachse dar
java.time.ChronoUnit Standardeinheit zur Zeitmessung
java.time.Period Stellt das Zeitintervall zwischen zwei Datumsangaben dar
java.time.Duration Stellt einen zeitbasierten Zeitraum dar (Stunden, Minuten, Sekunden, Nanosekunden)
Netzwerkprogrammierung java.net.URL URL-Verarbeitung
java.net.Socket Socket-Programmierung

2. Gängige Bibliotheken von Drittanbietern

Die folgenden sind in der Java-Welt weit verbreitete Bibliotheken von Drittanbietern:

Kategorie Bibliotheksname Hauptfunktionalität Offizielle Website
JSON-Verarbeitung Jackson JSON-Serialisierung/Deserialisierung https://github.com/FasterXML/jackson
Gson Googles JSON-Bibliothek https://github.com/google/gson
Unit-Testing JUnit Java-Unit-Testing-Framework https://junit.org/junit5/
Mockito Mock-Testing-Framework https://site.mockito.org/
Protokollierung Log4j Logging-Framework https://logging.apache.org/log4j/
SLF4J Logging-Fassaden-Framework https://www.slf4j.org/
Webentwicklung Spring Framework Enterprise-Anwendungs-Framework https://spring.io/projects/spring-framework
Spring Boot Framework für schnelle Anwendungsentwicklung https://spring.io/projects/spring-boot
Datenbank Hibernate ORM-Framework https://hibernate.org/
MyBatis SQL-Mapping-Framework https://mybatis.org/mybatis-3/
Build-Tools Maven Projekt-Build- und Abhängigkeitsverwaltung https://maven.apache.org/
Gradle Flexibles Build-Tool https://gradle.org/

3. Wie man die richtige Bibliothek auswählt

3.1 Bewertungskriterien

  1. Funktionale Anforderungen: Zuerst klären, welche Funktionalität das Projekt benötigt
  2. Community-Unterstützung: Eine aktive Community bedeutet bessere Unterstützung und Dokumentation
  3. Performance: Für performancekritische Anwendungen sind besondere Überlegungen erforderlich
  4. Lernkurve: Den Lernaufwand des Teams berücksichtigen
  5. Wartungsstatus: Prüfen, ob das Projekt noch aktiv gepflegt wird

3.2 Empfehlungen zur Versionsauswahl

  • LTS-Versionen (Long-Term Support) priorisieren
  • Die Verwendung nicht mehr gepflegter Versionen vermeiden
  • Neue Projekte können neuere stabile Versionen in Betracht ziehen

4. Verwendungsbeispiele

4.1 JSON mit Jackson verarbeiten

Beispiel

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonExample {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        try {
            // Objekt in JSON umwandeln
            String json = mapper.writeValueAsString(new User("Zhang San", 25));
            System.out.println(json);
           
            // JSON in Objekt umwandeln
            User user = mapper.readValue(json, User.class);
            System.out.println(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4.2 JUnit für Unit-Tests verwenden

Beispiel

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));
    }
}
Andere Erweiterungen