Originalartikel: Awesome Java
Awesome List in Qiita
Framework zur Erleichterung der Bean-Zuordnung *
dOOv- Bietet APIs für die typsichere Validierung und Zuordnung von Domänenmodellen mithilfe von Anmerkungen, Codegenerierung und typsicheren DSLs. Ermöglicht die schnelle und einfache Validierung und Zuordnung von Bohnen.
Dozer- Ein Mapper, der Daten mithilfe von Anmerkungen, APIs oder XML-Einstellungen von einem Objekt auf ein anderes kopiert.
JMapper-Verwenden Sie Bytecodeoperationen für eine schnelle Codezuordnung. Unterstützt Annotations-, API- oder XML-Einstellungen.
MapStruct- Ein Codegenerator, der die Zuordnung zwischen verschiedenen Bean-Typen basierend auf den Konventionen des Konfigurationsansatzes vereinfacht.
ModelMapper --ModelMapper ist eine intelligente Objektzuordnungsbibliothek, die Objekte automatisch einander zuordnet.
Orika-Orika ist ein Java Bean-Mapping-Framework, das (unter anderem) rekursiv Daten von einem Objekt auf ein anderes kopiert. Machen.
Selma-Dummer, statischer Link-Mapper. Annotationsprozessbasierter Bean-Mapper.
Tools zur Behandlung von Anwendungserstellungszyklen und -abhängigkeiten *
Apache Maven-Deklaratives Build- und Abhängigkeitsmanagement. Kann für Apache Ant vorzuziehen sein, das einen prozeduralen Ansatz verwendet und schwer zu warten ist.
Bazel - Googles Build-Tool für die schnelle und zuverlässige Erstellung von Code.
Gradle - Inkrementeller Build, der über Groovy programmiert wird, anstatt ihn in XML zu deklarieren. Das Abhängigkeitsmanagement von Maven funktioniert gut.
Eine Bibliothek, die Bytecodes programmgesteuert bearbeitet *
ASM- Allgemeiner Zweck, Manipulation und Analyse von Bytecode auf niedriger Ebene.
Byte Buddy-Verwendet eine fließende API, um die Generierung von Bytecode weiter zu vereinfachen.
Bytecode-Viewer - Java 8 Jar und Android APK Reverse Engineering Suite (nur GPL-3.0)
Byteman - Hauptsächlich zum Testen / zur Fehlerbehebung wird der Bytecode zur Laufzeit von DSL (Regeln) manipuliert. (LGPL-2.1 oder höher)
cglib - Bibliothek zur Generierung von Byte-Code.
Javassist- Vereinfacht die Bearbeitung von Bytecode.
Mixin-Verwenden Sie echten Java-Code, um den Bytecode zur Laufzeit zu verwalten.
Perses-Dynamisches Einfügen von Fehlern / Latenz auf Bytecode-Ebene gemäß den Prinzipien der Chaos-Technik.
Bibliothek mit Caching-Funktionen *
cache2k - Hochleistungs-Caching-Bibliothek im Arbeitsspeicher.
Koffein-Hohe Leistung und optimale Caching-Bibliothek.
Ehcache-Distributed General Purpose Cache.
Infinispan- Hochleistungs-Schlüsselwert-Datenspeicher für das Caching.
CLI
Alle mit CLI verbundenen Bibliotheken *
ASCII-Tabelle - Eine Bibliothek, die Tabellen in ASCII zeichnen kann.
Airline-Ein annotationsbasiertes Framework, das Befehlszeilenargumente wie Git analysiert.
args4j - Eine kleine Bibliothek, die Befehle wie Argumente analysiert, die javac ähneln.
Jansi --ANSI-Escape-Code zum Formatieren der Konsolenausgabe.
Java ASCII Render-Graphisches Grundelement für die Konsole.
JCommander-Ein Framework zum Parsen von Befehlszeilenargumenten mit benutzerdefinierten Typen und zur Validierung durch Implementierung einer Schnittstelle.
jbock-Type-safe und nicht reflektierender, annotationsbasierter Befehlszeilenparser.
Jexer- Erweiterte Konsolen- (und Swing-) Textbenutzeroberflächenbibliothek (TUI). Maus-Drag-Fenster, integrierter Terminal-Fenstermanager und Unterstützung für Sixel-Bilder Ähnlich wie bei Turbo Vision.
JLine-Modern Shell mit Funktionen wie Fertigstellung und Verlauf.
JOpt Simple- Ein einfacher Parser, der die Syntax POSIX getopt ()
und GNU getopt_long ()
verwendet. Verwenden Sie stattdessen die API.
picocli - Die Farben und Stile von ANSI helfen Benutzern bei der Verwendung. Sie können auch als Quelle verwendet werden, um Abhängigkeiten zu vermeiden. Annotationsbasiert, POSIX / GNU / Sie können für jede Syntax, Unterbefehle, Optionen und Positionsargumente stark tippen.
Text-IO- Hilft beim Erstellen vollständig konsolenbasierter Anwendungen.
Lanterna - Konsolentext-GUI-Bibliothek ähnlich wie Flüche. (Nur LGPL-3.0)
Ein Framework, das Anwendungen innerhalb eines Clusters dynamisch verwalten kann *
Apache Aurora - Apache Aurora ist ein Mesos-Framework für lang laufende Dienste und Cron-Jobs.
Apache Mesos-Abstrakt die CPU, den Speicher, den Speicher und andere Computerressourcen des Computers.
Singularity-Singularity ist ein Mesos-Framework, das die Bereitstellung und den Betrieb vereinfacht. Unterstützt Webdienste, Hintergrundmitarbeiter, geplante Jobs und einmalige Aufgaben. Machen.
Tools, die Metriken und Qualitätsmessungen bereitstellen *
Checkstyle-Codierungsregeln und statische Standardanalyse (LGPL-2.1 oder höher)
Fehleranfällig- Erkennt häufige Programmierfehler als Fehler bei der Kompilierung.
Infer-Nächstes statisches Analysetool zur Überprüfung der Codegenauigkeit.
jQAssistant - Statische Code-Analyse mit Neo4J-basierter Abfragesprache (nur GPL-3.0)
NullAway-Entfernen Sie NullPointerExceptions mit Build-Time-Overhead.
PMD-Quellcode-Analyse, um schlechte Codierungsgewohnheiten zu finden.
SonarJava - Statischer Analysator für SonarQube & SonarLint (nur GPL-3.0)
Sourcetrail![C] - Visueller Quellcode-Navigator.
Spoon-Eine Bibliothek zum Parsen und Konvertieren von Java-Quellcode.
Spotbugs-Statische Analyse des Bytecodes, um mögliche Fehler zu finden. (Nur GPL-3.0)
Frameworks und Tools, die die Erfassung von Codeabdeckungsmetriken für Testsuiten ermöglichen *
Clover-Atlassians eigenes Tool zur Codeabdeckung, das auf der Messung des Quellcodes anstelle der Messung des Bytecodes basiert.
Cobertura- Verlässt sich auf Offline- (oder statische) Bytecodemessungen und das Laden von Klassen, um Kennzahlen zur Codeabdeckung zu sammeln. (GPL) Nur -2,0)
JaCoCo-Ein Framework, mit dem Sie Codeabdeckungsmetriken sowohl mithilfe von Offline- als auch Laufzeit-Bytecode-Messungen erfassen können. Ein bekanntes Eclipse-Codeabdeckungs-Plug-In, Wird von EclEmma verwendet.
Ein Tool, das Muster von iterativem Code generiert, um Redundanz und die Möglichkeit von Fehlern zu reduzieren. *
ADT4J-JSR-269 Codegenerator für algebraische Datentypen.
Auto- Generieren Sie Factory-, Service- und Werteklassen.
FreeBuilder - Automatische Generierung von Builder-Mustern.
Immutables- Ein Annotationsprozessor, der einfache, sichere und konsistente Wertobjekte erzeugt.
JavaPoet --API zum Generieren von Quelldateien.
JHipster - Yeoman-Quellcodegenerator für Spring Boot und AngularJS.
Joda-Beans- Ein kleines Framework, das JavaBeans durch Hinzufügen abfragbarer Eigenschaften zu Java erweitert.
Lombok-Codegenerator zur Reduzierung der Redundanz.
Ein Framework zum Erstellen von Parsern, Interpreten und Compilern *
ANTLR- Ein komplexes Framework mit allen Funktionen für die Top-Down-Analyse.
JFlex-Phrasenanalysegenerator.
Bibliothek mit externen Einstellungen *
centraldogma- Neueste Konfigurationsbibliothek für verteilte Apps, die in Java geschrieben wurden.
cfg4j - Hochverfügbares Konfigurationsrepository für Versionsverwaltungsdienste basierend auf Git, ZooKeeper, HTTP / 2.
config - Konfigurationsbibliothek für die JVM-Sprache.
dotenv-Eine Konfigurationsbibliothek mit 12 Elementen für Java.
ini4j-Bietet eine API zur Verarbeitung von INI-Dateien unter Windows.
KAConf-Annotationsbasiertes Konfigurationssystem für Java und Kotlin.
Eigentümer-Reduce Property Boilerplate.
Eine Bibliothek zur Implementierung von Optimierungs- und Suffizienzproblemen *
Choco - Verwenden von Constraint-Programmiertechniken, Lösen von Constraint-Erfüllungsproblemen.
JaCoP- Enthält eine Schnittstelle für die FlatZinc-Sprache, mit der Sie MiniZinc-Modelle ausführen können. (AGPL-3.0)
OptaPlanner- Business Planning and Resource Scheduling Optimization Solver.
CSV
Frameworks und Bibliotheken, die das Lesen und Schreiben von CSV-Daten vereinfachen *
jackson-dataformat-csv - Reader & Writer für Jsckson-Erweiterungen.
opencsv - Einfacher CSV-Parser.
Super CSV- Ein leistungsstarker CSV-Parser, der Dozer, Joda-Time und Java 8 unterstützt.
uniVocity-Parser- Einer der schnellsten und funktionsreichsten CSV-Parser. Er wird auch mit einem TSV- und einem Datensatzparser mit fester Breite geliefert. Masu.
Vereinfachung der Interaktion mit der Datenbank *
Apache Drill - Verteiltes Schema im laufenden Betrieb ANSI SQL-Abfrage-Engine für die Erforschung großer Datenmengen.
Apache Phoenix- Hochleistungs-relationale Datenbankschicht auf HBase für Anwendungen mit geringer Latenz.
AranoDB --ArangoDB Java-Treiber.
Chronicle Map-Effizienter speicherinterner (noch auf der Festplatte gespeicherter) Off-Heap-Schlüsselwertspeicher.
Druide-Hohe Leistung, spaltenorientierter, verteilter Datenspeicher.
eXist-NoSQL Document Database und Application Platform. (nur LGPL-2.1)
FlexyPool (https://github.com/vladmihalcea/flexy-pool)- Bringt Metriken und Failover-Strategien zu den gängigsten Konnektivitätspooling-Lösungen.
Flyway- Ein einfaches Datenbankmigrationstool.
H2-Kleine SQL-Datenbank mit In-Memory-Funktionen.
HikariCP- Hochleistungs-JDBC-Verbindungspool.
jasync-sql - Asynchroner Datenbanktreiber für MySQL und PostgresSQL.
JDBI - Eine praktische Abstraktion von JDBC.
Jedis-Methoden für Befehle und ein kleiner Client für die Interaktion mit Redis.
Jest - REST-API-Client für die letzte Suche.
jetcd --etcd Client-Bibliothek.
Jinq-Type-safe Datenbankreferenz durch symbolische Ausführung von Java 8 Lambdas (über JPA oder jOOQ).
jOOQ- Generieren Sie typgarantierten Code basierend auf dem SQL-Schema.
Liquibase-Eine datenbankunabhängige Bibliothek zum Verfolgen, Verwalten und Anwenden von Datenbankschemaänderungen.
MapDB-Built-in Datenbankmodul, das parallele Sammlungen bereitstellt, die auf Festplatten- oder Off-Heap-Speicher gesichert sind.
MariaDB4j-MariaDB Launcher, für den keine Installation oder externe Abhängigkeiten erforderlich sind.
OrientDB - In Hazlcast geschriebene verteilte Datenbank.
Presto-Verteilte SQL-Abfrage-Engine für große Datenmengen.
Querydsl - Typensichere einheitliche Abfrage.
Realm-Eine mobile Datenbank, die direkt auf Ihrem Telefon, Tablet oder Wearable ausgeführt wird.
Redisson- Ermöglicht verteilte und skalierbare Datenstrukturen auf dem Redis-Server.
Requery-Moderne, leichte und dennoch leistungsstarke Objektzuordnung und SQL-Generator. Einfache Datenbankzuordnung oder Datenbankerstellung von jeder Plattform mit Java, Abfrage Und Updates durchführen.
Speedment-Eine Datenbankzugriffsbibliothek, die die Java 8 Stream-API für Abfragen verwendet.
sql2o- Ein dünner JDBC-Wrapper, der den Zugriff auf die Datenbank vereinfacht und das Zuordnen von ResultSets zu POJOs vereinfacht.
Vibur DBCP-JJJ Verbindungspoolbibliothek, die erweiterte Leistungsüberwachung bietet.
Xodus-Paralleles Transaktionsschema und ACID-kompatible integrierte Datenbank.
Effiziente und konkrete Datenstruktur *
Apache Avro-Datenaustauschformate wie dynamische Typisierung, Daten ohne Tags, Fehlen manuell zugewiesener IDs.
Apache Orc-Schnelles und effizientes Spaltenspeicherformat für Hadoop-basierte Workloads.
Apache Parquet- Ein säulenartiges Speicherformat, das auf dem Assemblierungsalgorithmus von Googles Dremel-Papier basiert.
Apache Thrift-Data Exchange Format von Facebook entwickelt.
Große Warteschlange-Eine große, schnelle und dauerhafte Warteschlange basierend auf Dateien mit Speicherzuordnung.
HyperMinHash-java --Probabilistische Datenstruktur zur Berechnung von Summen, Produktsätzen und Satzbasen im Protokollprotokollbereich.
Persistent Collection-Permanentes und unveränderliches Java Collections-Framework.
Protobuf-Googles Datenaustauschformat.
SBE-Einfache binäre Codierung. Eines der schnellsten Nachrichtenformate.
Band-Ultra-schnelles, transaktionsbezogenes, dateibasiertes FIFO.
Wire-Reiniger und leichter Protokollpuffer.
Bibliothek für Datum und Uhrzeit *
Almanac Converter- Einfache Konvertierung zwischen verschiedenen Kalendersystemen.
iCal4j --iCalendar RFC 5545 Analysieren und Erstellen von Datenmodulen.
ThreeTen-Extra - Zusätzliche Datums- und Zeitklassen, die die von JDK 8 ergänzen.
Time4J-Erweiterte Datums- und Zeitbibliothek (nur LGPL-2.1)
Eine Bibliothek, die bei der Implementierung des Paradigmas Inversion of Control hilft *
Apache DeltaSpike - CDI Extension Framework.
Dagger2-Keine Reflexion, Injection-Framework zur Kompilierungszeit.
Feather-Ultralight, JSR-330-konforme Abhängigkeitsinjektionsbibliothek.
Guice- Ein leichtes und dennoch leistungsstarkes Framework, das Dagger vervollständigt.
HK2-Lightweight und Dynamic Dependency Injection Framework.
JayWire-Lightweight Dependent Injection Framework.
Stärkung des Entwicklungsprozesses auf der Basisebene *
AspectJ-Seamless aspektorientierte Programmiererweiterung.
DCEVM-JVM Änderungen, die eine unbegrenzte Neudefinition der zur Laufzeit geladenen Klassen ermöglichen.
Faux Pas-Fehlerbehandlung, um das Problem zu vermeiden, dass keine der Java Runtime-Funktionsschnittstellen standardmäßig geprüfte Ausnahmen auslösen kann. Eine Bibliothek, die vereinfacht.
HotswapAgent-Unbegrenzte Neudefinition von Laufzeitklassen und Ressourcen.
JavaParser- Analysiert, modifiziert und generiert dynamisch Java-Code.
JavaSymbolSolver-Symbol Solver für Java.
JRebel![C]- Laden Sie Code- und Konfigurationsänderungen sofort neu, ohne sie erneut bereitzustellen.
Manifold-Eine einzelne JAR-Datei, die Java mit leistungsstarken Funktionen wie typsicherer Metaprogrammierung, struktureller Typisierung und Erweiterungsmethoden reaktiviert.
NoException-Erlaubt geprüfte Ausnahmen in der Funktionsoberfläche und konvertiert Ausnahmen in optionale Rückgaben.
SneakyThrow- Bearbeiten Sie keine Bytecodes, ignorieren Sie aktivierte Ausnahmen. Kann auch bei der Manipulation von Java 8-Streams verwendet werden.
Bibliotheken und Frameworks zum Erstellen verteilter und fehlertoleranter Anwendungen *
Apache Geode-In-memory Datenverwaltungssystem, das zuverlässige asynchrone Ereignisbenachrichtigung und garantierte Nachrichtenübermittlung bietet.
Apache Storm-Real-time Computersystem.
Apache ZooKeeper-Verteilte Konfigurations-, Synchronisierungs- und Namensregistrierungskoordinierungsdienste für große verteilte Systeme.
Atomix - Fehlertolerantes verteiltes kooperatives Framework.
Axon Framework-Framework zum Erstellen von CQRS-Anwendungen.
Dropwizard-Leistungsschalter - Entwurfsmuster des Dropwizard-Leistungsschalters.
Ausfallsicher - Einfache Fehlerbehandlung mit Wiederholungsversuchen und Leistungsschaltern.
Hazelcast![C]-Skalierbares In-Memory-Datenraster mit kostenloser Open Source-Version.
JGroups- Ein Toolkit für zuverlässiges Messaging und Clustering.
Orbit - Virtueller Schauspieler. Fügt traditionellen Schauspielern eine weitere Abstraktionsebene hinzu.
Quasar-Lightweight Threads und Schauspieler für JVM.
resilience4j - Funktionale Fehlertoleranzbibliothek.
ScaleCube - Eingebetteter Cluster - Mitgliedschaftsbibliothek basierend auf SWIM und Klatschprotokoll.
Zuul-Gateway-Dienst, der dynamisches Routing, Überwachung, Ausfallsicherheit, Sicherheit und mehr bietet.
Verteilte Transaktionen bieten einen Mechanismus, um konsistente Datenaktualisierungen bei gleichzeitigem Zugriff und teilweisen Fehlern sicherzustellen. *
Atomikos - Bietet REST-, SOA- und Microservice-Transaktionen, die JTA und XA unterstützen.
Bitronix- Einfache und vollständige Implementierung der JTA 1.1-API.
Narayana - Unterstützt traditionelle ACID und Transaktionen und entspricht JTA, JTS und anderen Standards.
Ein Tool für die Verteilung von Anwendungen im nativen Stil *
Bintray![C]-Versionskontrolle von Binärdateien, die das Veröffentlichen übernehmen. Es kann auch mit Maven und Gradle, Open Source-Software und einigen Geschäftsplänen verwendet werden Es gibt einen kostenlosen Plan für.
Boxfuse![C] - Stellen Sie JVM-Anwendungen in AWS nach den Prinzipien einer unveränderlichen Infrastruktur bereit.
Capsule-Einfache und leistungsstarke Verpackung und Bereitstellung. Unterstützt JVM-optimierte Container, "Docker for Java".
Zentrales Repository (https://search.maven.org/)-Das größte Binärkomponenten-Repository, das der Open Source-Community als kostenloser Dienst zur Verfügung steht. Wird von Apache Maven verwendet und ist in allen anderen Build-Tools verfügbar Standard.
Cloudsmith![C] - Vollständig verwaltetes SaaS für die Paketverwaltung mit Maven / Gradle / SBT-Unterstützung.
IzPack-Setup Authoring Tool für plattformübergreifende Umgebungen.
JitPack![C]-Easy-to-use Paket-Repository für GitHub. Erstellen Sie Maven / Gradle-Projekte nach Bedarf und veröffentlichen Sie gebrauchsfertige Pakete.
Nexus![C]- Binäre Verwaltung mit Proxy- und Caching-Funktionen.
packr-Packs JARs, Assets und JVMs unter Windows, Linux, Mac OS X für die native Verteilung.
wirklich ausführbares Jars-Maven-Plugin- Ein Maven-Plug-In zum Erstellen selbstausführender JARs.
Eine Bibliothek, die die Verarbeitung von Office-Dokumentformaten unterstützt *
Apache POI-Unterstützt OOXML (XLSX, DOCX, PPTX) und OLE2 (XLS, DOC oder PPT).
documents4j --API für die Konvertierung des Dokumentformats mit einem Konverter eines Drittanbieters wie MS Word.
docx4j-Erstellen und Bearbeiten von Microsoft Open XML-Dateien.
XlsMapper - Lesen / Schreiben von Excel-Dateien. Auch das Zuordnen zu Java Beans ist möglich.
zerocell-Eine annotationsbasierte API zum Laden von Daten aus Excel-Tabellen in POJO mit dem Schwerpunkt auf der Reduzierung des Overheads.
Formale Methodenwerkzeuge: Zertifizierungsassistent, Modellprüfung, symbolische Ausführung usw. *
CATG --Concolic Unit Test Engine. Generieren Sie automatisch Unit Tests mit formalen Methoden.
Checker Framework -Pluggable-Typsystem. Beinhaltet den Nullheitstyp, die physische Einheit, den unveränderlichen Typ usw.
Daikon-Daikon kann die Unveränderlichkeit von Programmen erkennen und basierend auf dieser Unveränderlichkeit JML-Spezifikationen generieren.
Java Path Finder (JPF) - JVM-Tool zur formalen Überprüfung, einschließlich Modellprüfer usw. Erstellt von der NASA.
JMLOK 2.0 --Feedback-orientierte zufällige Testgenerierung erkennt Fehler zwischen Code- und JML-Spezifikationen und erkennt jede Nichtkonformität Hier sind einige mögliche Ursachen:
KeY - Das KeY-System zielt darauf ab, das Design, die Implementierung, die formalen Spezifikationen und die formale Verifizierung von objektorientierter Software so nahtlos wie möglich zu integrieren. Ein Entwicklungstool. Verwendet JML zur Validierung und symbolischen Ausführung.
OpenJML - Konvertiert die JML-Spezifikation in das SMT-LIB-Format und übergibt das vom Programm implizierte Proof-Problem an den Backend-Solver.
Eine Bibliothek, die die Funktionsprogrammierung erleichtert *
cyclops-react - Dienstprogramme für Monaden und Streams, Beschreibung, Musterabgleich, alle Verbesserungen der JDK-Sammlung, Trampolin usw.
derive4j-Java 8 Annotationsprozessor und Framework zum Ableiten algebraischer Datentypkonstruktoren, Pattern Matching, Morphs.
Fuge - Guava-Verbesserungen.
Functional Java - Implementiert eine Reihe grundlegender und erweiterter Programmierabstraktionen, die eine kompositionsorientierte Entwicklung unterstützen.
jOOλ-Java 8-Erweiterung zur Behebung von Lambda-Lücken. Viele fehlende Typen und eine Vielzahl von Stream-APIs Bietet zusätzliche Funktionen.
protonpack-Eine Sammlung von Stream-Dienstprogrammen.
StreamEx - Erweitert Java 8-Streams.
Vavr-Funktionale Komponentenbibliothek, die persistente Datentypen und funktionale Kontrollstrukturen bereitstellt.
Framework zur Unterstützung der Spieleentwicklung *
jMonkeyEngine-Eine Spiel-Engine für die moderne 3D-Spieleentwicklung.
libGDX-All-round plattformübergreifendes Framework auf hoher Ebene.
LWJGL - Ein leistungsstarkes Framework zum Abstrahieren von Bibliotheken wie OpenGL / CL / AL.
FXGL - Java FX Game Development Framework.
Bibliothek für Geodaten und Algorithmen *
Apache SIS-Eine Bibliothek zur Entwicklung von Geodatenanwendungen.
Geo --GeoHash Utility.
Geotoolkit.org-Eine Bibliothek zum Entwickeln von Weltraumanwendungen. Aufbauend auf dem Apache SIS-Projekt.
GeoTools-Eine Bibliothek, die Tools für Geodaten bereitstellt.
GraphHopper-Load Routing Engine. Wird als Java-Bibliothek oder eigenständiger Webdienst verwendet.
H2GIS - Räumliche Erweiterung der H2-Datenbank.
Jgeohash-Eine Bibliothek, die Java-Entwicklern bei der Verwendung des GeoHash-Algorithmus hilft.
Mapsforge - Karten-Rendering-Software basierend auf OpenStreetMap-Daten.
Spatial4j-Eine generische Open-Source-Java-Bibliothek mit einer räumlichen / räumlichen ASL-Lizenz.
GUI
Bibliothek zum Erstellen moderner grafischer Benutzeroberflächen *
JavaFX - Nachfolger von Swing.
Scene Builder-Visuelles Layout-Tool für JavaFX-Anwendungen.
SWT-Standard Widget Toolkit (SWT) ist ein grafisches Widget-Toolkit zur Verwendung mit der Java-Plattform.
Alles über Hochleistungsrechnen von Sammlungen bis zu bestimmten Bibliotheken *
Agrona-Datenstrukturen und Dienstprogrammmethoden, die in Hochleistungsanwendungen üblich sind.
Disruptor-Inter-thread Messaging Library.
Eclipse-Sammlungen - Von Smalltalk inspiriertes Sammlungsframework.
fastutil-Schnelle und kompakte typspezifische Sammlung.
HPPC-Primitive Sammlung.
JCTools-Parallele Tools, die im aktuellen JDK nicht enthalten sind.
Koloboke -Hashsets und Hashmaps.
Eine Bibliothek, mit der Sie HTTP-Anforderungen erstellen und / oder Antworten kombinieren können *
Armeria-Asynchrone RPC / REST-Client / Server-Bibliothek, die auf Java 8, Netty, HTTP / 2, Thrift und gRPC basiert.
Async Http Client-Asynchronous HTTP und Websocket Client Library.
Feign - Nachrüst-, JAXRS-2.0- und WebSocket-inspirierte HTTP-Client-Binder-Bibliothek.
OkHttp HTTP + SPDY-Client.
WS spielen-Type-safe Client mit reaktiver Belastung und Caching.
restQL-core-java- Informationen von mehreren Diensten abrufen, Microservice-Abfragesprache.
Retrofit-Type-safe REST-Client.
Ribbon - Clientseitige IPC-Bibliothek.
Riptide - Client-seitiges Antwortrouting für Spring RestTemplate.
unirest-java-Einfache und einfache HTTP-Client-Bibliothek.
Eine Bibliothek, die die Serialisierung in Hypermedia-Typen verwaltet *
JSON-LD --JSON-LD-Implementierung.
Siren4J - Siren-Spezifikationsbibliothek.
IDE
Integrierte Entwicklungsumgebung, die die Entwicklung vereinfacht *
Eclipse-Open Quellprojekt, das viele Plugins und Sprachen unterstützt.
IntelliJ IDEA![C]-Unterstützt viele JVM-Sprachen und bietet Optionen für die Android-Entwicklung.
NetBeans (https://netbeans.apache.org/)-Bietet die Integration von Java SE- und EE-Funktionen vom Datenbankzugriff auf HTML5.
Visual Studio Code-Verwendet Marketplace-Erweiterungen, um Java-Unterstützung für einfache, moderne Workflows bereitzustellen.
Eine Bibliothek, die die Erstellung, Auswertung und den Betrieb grafischer Bilder unterstützt *
Imgscalr-Eine einfache und effiziente hardwarebeschleunigte Bildskalierungsbibliothek, die in reinem Java 2D implementiert ist.
Tess4J - JNA-Wrapper für die Tesseract OCR-API.
Thumbnailator - Thumbnailator ist eine hochwertige Bibliothek zur Generierung von Thumbnails für Java.
TwelveMonkeys-Eine Sammlung von Plugins, die die Anzahl der unterstützten Bilddateiformate erweitern.
ZXing - 1D / 2D-Barcode-Bildverarbeitungsbibliothek im Mehrfachformat.
Bildvergleich-Vergleichen Sie zwei Bilder derselben Größe und zeichnen Sie ein Rechteck, um den visuellen Unterschied anzuzeigen.
JSON
Eine Bibliothek zum Serialisieren und Deserialisieren von JSON mit Java-Objekten *
Genson-Eine leistungsstarke und benutzerfreundliche Java-JSON-Konvertierungsbibliothek.
Gson-Serialisieren Sie Objekte in JSON und umgekehrt.
HikariJSON - Ein leistungsstarker JSON-Parser, der doppelt so schnell ist wie Jackson.
jackson-modules-java8-Eine Reihe von Jackson-Modulen für Java 8-Datentypen und -Funktionen.
Jackson-Datentyp-Geld - Offenes Quell-Jackson-Modul, das die JSON-Serialisierung und Deserialisierung von JavaMoney-Datentypen unterstützt.
Jackson- Ähnlich wie GSON, jedoch mit besserer Leistung, wenn Sie die Bibliothek häufiger instanziieren müssen.
JSON-io - Java in JSON konvertieren, JSON in Java konvertieren.
jsoniter - Eine schnelle und flexible Bibliothek mit Iteratoren und APIs für Verzögerungsanalysen.
LoganSquare-JSON Parsing- und Serialisierungsbibliothek basierend auf Jacksons Streaming-API. Besser als GSON & Jacksons Bibliothek.
Moshi-Modern JSON-Bibliothek. Verwenden Sie integrierte Typen wie Listen und Karten.
Yasson-Bindet Ebenen zwischen Klassen und JSON-Dokumenten wie JAXB.
Bibliothek zur Datenverarbeitung im JSON-Format *
fastjson- Ein sehr schneller Prozessor ohne zusätzliche Abhängigkeiten oder vollständige Datenbindung.
Jolt - Konvertierungstool von JSON zu JSON.
JsonPath - Extrahieren Sie Daten aus JSON mithilfe einer Syntax wie XPATH.
JsonSurfer- Ein Streaming-JsonPath-Prozessor für die Verarbeitung großer und komplexer JSON-Daten.
Aktuelle Implementierung von JVM / JDK *
Open JDK übernehmen - OpenJDK-Build, mit dem Sie zwischen HotSpot und OpenJ9 wählen können.
Avian - JVM mit JIT- und AOT-Modus. Enthält iOS-Ports.
Corretto - Kostenlose Verteilung von OpenJDK für Multi-Plattform und Produktion durch Amazon.
Graal-Polyglot einbettbare JVM.
Liberica JDK - Hergestellt aus OpenJDK, gründlich getestet und JCK bestanden.
OpenJ9-Enterprise Calibre, flexible lizenzierte, offen verwaltete plattformübergreifende Java Virtual Machine, Laufzeittechnologie von Eclipse OMR- und OpenJDK-Projekten Erweitern Sie die Komponente.
OpenJDK - Offene Quellimplementierung für Linux.
ParparVM-VM mit nicht blockierendem parallelem GC für iOS.
RedHat Open JDK - Verteilung von OpenJDK durch RedHat.
Zulu - OpenJDK für Windows, Linux und MacOS.
Bibliothek, die das Anwendungsverhalten aufzeichnet *
Apache Log4j 2- Leistungsstarke Plug-In- und Konfigurationsarchitektur.
Graylog-Öffnen Sie den Quellaggregator, der für erweiterte Rollen und die Verwaltung von Berechtigungen geeignet ist.
Kibana- Analysiert und visualisiert Protokolldateien. Einige Funktionen sind kostenpflichtig.
Logback-Robust Logging Library mit interessanten Konfigurationsoptionen über Groovy.
Logbuch-Erweiterbare Open Source-Bibliothek für die Protokollierung von HTTP-Anforderungen und -Antworten.
Logstash- Ein Tool zum Verwalten von Protokolldateien.
p6spy-Ermöglicht die Protokollierung aller JDBC-Transaktionen, ohne den Code zu ändern.
SLF4J-Abstraktschicht, die in der Implementierung verwendet wird.
tinylog-Lightweight Logging Framework mit statischen Logger-Klassen.
Tracer- Ruft die Trace-Log-Korrelation in einem verteilten System auf.
Ein Tool, das spezifische statistische Algorithmen bereitstellt, die maschinelles Lernen ermöglichen *
Apache Flink-Eine schnelle und zuverlässige umfangreiche Datenverarbeitungs-Engine.
Apache Mahout- Ein skalierbarer Algorithmus, der sich auf das Co-Filtern, Clustering und Klassifizieren konzentriert.
Apache Spark-Data Analysis Cluster Computing Framework.
DatumBox - Bietet verschiedene Algorithmen für die Verarbeitung natürlicher Sprache und vorab trainierte Modelle.
DeepDive - Erstellen Sie strukturierte Informationen aus unstrukturierten Daten und integrieren Sie sie in eine vorhandene Datenbank.
Deeplearning4j-Distributed Multithreaded Deep Learning Library.
H2O-Statistische Analyse-Engine für umfangreiche Daten.
JSAT-Ein Algorithmus zur Vorverarbeitung, Klassifizierung, Regression und Clusterbildung mit Unterstützung für Multithread-Ausführung.
Oryx 2-Um umfangreiche Echtzeitanwendungen für maschinelles Lernen zu erstellen, einschließlich End-to-End-Anwendungen für kollaboratives Filtern, Klassifizieren, Regression und Clustering. Rahmen.
Smile - Die Statistical Machine Intelligence and Learning Engine bietet eine Reihe von Algorithmen und Visualisierungsbibliotheken für maschinelles Lernen.
Weka - Eine Sammlung von Algorithmen für Data Mining-Aufgaben von der Vorverarbeitung bis zur Visualisierung.
Ein Tool zum Senden von Nachrichten zwischen Clients, um die Protokollunabhängigkeit sicherzustellen. *
Aeron-Effiziente und zuverlässige Weiterleitung von Unicast- und Multicast-Nachrichten.
Apache ActiveMQ- Ein Nachrichtenbroker, der JMS implementiert und die Synchronisation in asynchrone Kommunikation konvertiert.
Apache Camel- Bringt verschiedene Transport-APIs über ein Unternehmensintegrationsmuster.
Apache Kafka-Verteiltes Messaging-System mit hohem Durchsatz.
Apache Pulsar-Distributed Pub / Sub Messaging System.
Apache RocketMQ-Eine schnelle, zuverlässige und skalierbare verteilte Messaging-Plattform.
Apache Qpid - Apache Qpid spricht AMQP und erstellt Messaging-Tools, die viele Sprachen und Plattformen unterstützen.
Hermes - Ein schneller und zuverlässiger Nachrichtenbroker, der auf Kafka basiert.
EventBus-Einfacher Ereignisbus zum Veröffentlichen / Abonnieren.
JeroMQ - Implementierung von ZeroMQ.
Nakadi-Bietet RESTful API für Kafka.
RabbitMQ Java-Client --RabbitMQ-Client.
Smack-Cross-platform XMPP-Clientbibliothek.
NATS --NATS-Client.
Alles andere *
Codename One- Eine plattformübergreifende Lösung zum Erstellen nativer Handys.
CQEngine - SQL-ähnliche ultraschnelle Abfragen für Java-Sammlungen.
Design Patterns-Implementierung und Beschreibung der gängigsten Designmuster.
Ausfallsicher - Einfache Fehlerbehandlung mit Wiederholungsversuchen und Leistungsschaltern.
FF4J - Java-Feature-Flag.
FizzBuzz Enterprise Edition - Eine unsinnige Implementierung von FizzBuzz, die von seriösen Geschäftsleuten für ernsthafte Geschäftszwecke durchgeführt wurde.
J2ObjC-Java to Objective-C-Übersetzer zum Portieren von Android-Bibliotheken auf iOS.
JavaCV --OpenCV, FFmpeg Andere Java-Schnittstellen.
JavaX - Überdenken und erweitern Sie Java mit Schwerpunkt auf Vereinfachung.
JBake - Statischer Website-Generator.
JBot-Framework zum Erstellen von Chatbots.
Jcuda -JCuda bietet Java-Bindungen für CUDA- und CUDA-bezogene Bibliotheken.
Jimfs - In-Memory-Dateisystem.
Joda-Money- Grundlegende Währungs- und Geldklassen und Algorithmen, die nicht vom JDK bereitgestellt werden.
JPad - Snippet Runner.
Maven Wrapper - Mit Gradle Wrapper von Maven können Build-Projekte ohne Installation von Maven erstellt werden.
Membrane Service Proxy-Open Source Reverse Proxy Framework in Java geschrieben.
MinimalFTP- Leichter, kompakter und anpassbarer FTP-Server.
Modernes Java - Ein Handbuch zu Java 8 - Ein beliebtes Java 8-Handbuch.
Modernizer- Erkennt die Verwendung älterer Java-APIs.
[Multi-OS Engine]((https://multi-os-engine.org) - Offene plattformübergreifende Engine für die Entwicklung nativer mobiler Apps (iOS, Android usw.).
OpenRefine-Tools für den Umgang mit umständlichen Daten. Bereinigen, Transformieren, Erweitern mit Webdiensten, Verknüpfen mit der Datenbank.
PipelinR - Eine kleine Dienstprogrammbibliothek zur Verwendung von Handlern und Befehlen in Ihrer Pipeline.
Polyglot für Maven-Eine Erweiterung von Maven 3.3.1 +, mit der Sie POM-Modelle in anderen Dialekten als XML schreiben können.
Smooks-Erweiterbares Framework zum Erstellen von Anwendungen, die Daten verarbeiten (Bindung, Transformation, Nachrichtenverarbeitung, Anreicherung).
Togglz-Implementierung des funktionalen Umschaltmusters.
TypeTools-Tools zum Auflösen generischer Typen.
XMLBeam-Verwenden Sie Anmerkungen in Ihrem Code oder XPath, um XML zu verarbeiten.
OctoLinker-Eine Browsererweiterung, mit der Sie effizienter auf GitHub im Code navigieren können.
Microservices. Das heißt, Tools zum Verwalten der Erstellung, Koordination oder Erkennung *
Apollo-Eine Bibliothek zum Schreiben konfigurierbarer Microservices.
consul-api-Consul Client für verteilte und hochverfügbare Rechenzentren Registrierungs- / Erkennungsdienst
Eureka-REST-basierte Dienstregistrierung für stabilen Lastausgleich und Failover.
Helidon - Zwei Stilansätze zum Schreiben von Microservices: Zwei Arten der Implementierung von Functional-Reactive und MicroProfile.
Lagom- Ein Framework zum Erstellen von Microservice-basierten Systemen.
Tools zur Überwachung von Produktionsanwendungen *
AppDynamics![C] - Leistungsüberwachung.
Automon- Ein Tool zur Integration in AOP zur Überwachung oder Protokollierung von Funktionen.
Ausfallsicherer Aktuator - Überwachung des ausfallsicheren Leistungsschalters in einer Spring-Boot-Umgebung.
BugSnag![C]-Überwachen von Ausnahmen und Fehlern bei der Integration mehrerer Tools von Drittanbietern.
Glowroot - Open Source Java APM.
inspectIT - Erhalten Sie detaillierte Laufzeitinformationen über sofort änderbare Hooks. Unterstützt die Ablaufverfolgung auf mehreren Systemen mithilfe der OpenTracing-API. Sie können Daten mit der Endbenutzerüberwachung verknüpfen.
Instrumental![C] - Kostenloses Entwicklungskonto verfügbar, kommerzieller Dienst zur Überwachung der Leistung von Java-Anwendungen in Echtzeit.
JavaMelody- Leistungsüberwachung und Profilerstellung.
Jaeger-Client - Jaeger-Client.
jmxtrans-Ein Tool zum Herstellen einer Verbindung zu mehreren JVMs und zum Abfragen ihrer Attribute über JMX. Abfragen ermöglichen Nicht-Java-Programmierern den Zugriff auf JVM-Attribute. Es basiert auf JSON, damit es verwendet werden kann. Es unterstützt auch verschiedene Ein- und Ausgänge wie Graphite, Ganglia und StatsD.
Jolokia - REST JMX.
Kamon![C] - Ein Tool zum Überwachen von Anwendungen, die auf der JVM ausgeführt werden.
Metriken (http://metrics.dropwizard.io/) - Sie können Metriken über MX oder HTTP veröffentlichen und an die Datenbank senden.
Neues Relikt![C] - Leistungsüberwachung.
Datadog![C]-Modern Monitoring & Analysis.
nudge4j-Entfernen Sie die Entwicklerkonsole für Java 8 über die Bytecode-Injektion vom Browser.
OverOps![C]-Real-time Fehlerüberwachung und Debugging.
Pinpoint-Öffnen Sie das Quell-APM-Tool.
Prometheus- Bietet mehrdimensionale Datenmodelle, DSLs, autonome Serverknoten usw.
SPM![C]-Performance Monitor, der Transaktions-Traces für JVM-Anwendungen verteilt.
Stagemonitor-Offene Überwachung der Quellleistung und Transaktionsverfolgung für JVM-Anwendungen.
Sysmon-Lightweight Platform Monitoring Tool für Java VMs.
Funktioniert mit plattformspezifischen nativen Bibliotheken *
JavaCPP- Bietet effizienten und einfachen Zugriff auf natives C ++.
JNA-Handle native Bibliotheken ohne JNI schreiben. Es bietet auch eine Schnittstelle zu allgemeinen Systembibliotheken.
JNR-Arbeitet mit nativen Bibliotheken, ohne JNI zu schreiben. Bietet auch eine Schnittstelle zu allgemeinen Systembibliotheken. Gleiches Ziel wie JNA Es dient jedoch als Grundlage für das zukünftige Projekt Panama.
Eine auf Textverarbeitung spezialisierte Bibliothek *
CogCompNLP-Bietet einen allgemeinen Annotator für die Eingabe von Klartext.
CoreNLP-Stanfords CoreNLP bietet eine Reihe grundlegender Tools für Aufgaben wie Tagging, Erkennung benannter Entitäten und Stimmungsanalyse. ..
DKPro-Eine Sammlung wiederverwendbarer NLP-Tools für die Sprachvorverarbeitung, maschinelles Lernen, Vokabeln und mehr.
Lingua-Natürliche Spracherkennungsbibliothek, besonders geeignet für kurze Textabschnitte.
LingPipe-Toolkit für verschiedene Aufgaben vom POS-Tagging bis zur Stimmungsanalyse.
Bibliothek zur Netzwerkprogrammierung *
AkkaGRPC-Unterstützung zum Erstellen von Streaming-gRPC-Servern und -Clients auf Akka-Streams.
Comsat-Integriert Standard-Java-Web-APIs in Quasar-Glasfasern und Akteure.
Dubbo- Hochleistungs-RPC-Framework.
Finagle-Erweiterbares RPC-System zum Erstellen hochparalleler Server. Dies ist ein einheitlicher Client und Server für mehrere Protokolle. Es implementiert die API und ist protokollunabhängig, was die Implementierung des neuen Protokolls vereinfacht.
Grizzly --NIO-Framework. Wird als Netzwerkschicht von Glassfish verwendet.
gRPC-RPC Framework basierend auf Protobuf und HTTP / 2.
KryoNet- Effizienter TCP / UDP-Client / Server mit NIO und Kryo. Bietet eine saubere und einfache API für die Netzwerkkommunikation.
MINA-Abstract ereignisgesteuerte asynchrone E / A-API für TCP / IP- und UDP / IP-Netzwerkvorgänge über Java NIO.
Netty- Ein Framework zum Erstellen von Hochleistungsnetzwerkanwendungen.
Nifty - Drift-Client- und Server-Implementierung auf Netty.
sshj-Programme verwenden SSH, SCP, SFTP.
TLS-Kanal - Implementiert die ByteChannel-Schnittstelle auf SSLEngine für benutzerfreundliches (Socket-ähnliches) TLS.
Undertow- Ein Webserver, der sowohl blockierende als auch nicht blockierende APIs basierend auf NIO bereitstellt. Wird als Netzwerkschicht für WildFly verwendet.
urnlib - Java-Bibliothek zum Ausdrücken, Parsen und Codieren von URNs wie RFC 2141.
ORM
API zur Behandlung der Objektpersistenz *
Apache Cayenne- Bietet eine saubere und statische API für den Datenzugriff, einschließlich GUI-Modellierer für Datenbankzuordnung, DB-Reverse Engineering und Generierung. Es ist.
Ebean- Bietet einfachen und schnellen Datenzugriff.
Doma 2- Ein Datenbankzugriffsframework, das den Quellcode zur Kompilierungszeit mithilfe der Annotationsverarbeitung und einer nativen SQL-Vorlage namens "Zwei-Wege-SQL" validiert und generiert.
EclipseLink-Unterstützt verschiedene Persistenzstandards wie JPA, JAXB, JCA, SDO.
Hibernate-Robust und in der aktiven Community weit verbreitet.
MyBatis-Kombinieren Sie Objekte mit gespeicherten Prozeduren oder SQL-Anweisungen.
SimpleFlatMapper-Einfacher Datenbank- und CSV-Mapper.
PaaS Java Platform as a Service
Nützlich zum Erstellen von PDF-Dateien *
Apache FOP - Erstellen Sie ein PDF aus XSL-FO.
Apache PDFBox-Eine Toolbox zum Erstellen und Bearbeiten von PDFs.
Dynamic Jasper - Zusammenfassung der Ebene zu Jasper Reports.
DynamicReports- Vereinfacht JasperReports.
flyingsaucer - XML / XHTML und CSS 2.1 Renderer.
iText![C]- Sie können PDF-Dateien programmgesteuert erstellen, für kommerzielle Zwecke benötigen Sie jedoch eine Lizenz.
JasperReports-Complex Reporting Engine.
HTML zu PDF öffnen- Unterstützt korrekt die neuesten PDF-Standards, die auf Flyingsaucer und Apache PDFBox basieren.
Tools für Leistungsanalyse, Profilerstellung und Benchmarking *
fastThread![C] - Eine kostenlose Cloud-basierte Upload-Oberfläche, die Thread-Dumps analysiert und visualisiert.
GCeasy![C] - Ein Tool zum Analysieren und Visualisieren von GC-Protokollen. Bietet eine kostenlose Cloud-basierte Upload-Oberfläche.
Ehrlicher-Profiler- Ein Sampling-Profiler mit geringem Overhead und ohne Verzerrung.
jHiccup-Stellt die JVM-Stände der Aufzeichnungs- und Aufzeichnungsplattform fest.
JITWatch- Analysiert JIT-Compiler-Optimierungen mit der HotSpot-JVM.
JMH --JMH ist nano / micro / millimeter / in Java und anderen Sprachen geschrieben, die auf die JVM abzielen. Ein Java-Kabel zum Erstellen, Ausführen und Analysieren von Makro-Benchmarks.
JProfiler![C] --Profiler.
LatencyUtils-Utility zum Messen und Berichten der Latenz.
XRebel![C]-Profiler für Webanwendungen.
YourKit Java Profiler![C] --Profiler.
Apache Commons
Bibliothek zur Entwicklung reaktiver Anwendungen *
Akka -Toolkits und Laufzeiten zum Erstellen simultaner, verteilter, fehlertoleranter ereignisgesteuerter Anwendungen.
Reaktive Streams-Bietet einen Standard für die asynchrone Stream-Verarbeitung mit nicht blockierendem Gegendruck.
Reactor-Eine Bibliothek zum Erstellen reaktiver Hochgeschwindigkeitsdatenanwendungen.
vert.x-Polyglot ereignisgesteuertes Anwendungsframework.
Framework für die Erstellung von RESTful-Services im Besonderen *
Dropwizard- Ein Framework zum Einrichten moderner Webanwendungen in Jetty, Jackson, Jersey, Metrics.
Elide- Ein meinungsbasiertes Framework für JSON oder GraphQL-API basierend auf dem JPA-Datenmodell.
javalin-Javalin ist Jetty mit Tausenden von hinzugefügten Codezeilen: Die Leistung entspricht in etwa der von reinem Jetty.
Jersey - Implementierung der JAX-RS-Referenz.
Microserver - Praktisches und erweiterbares Microservices-Plugin-System für Spring & Spring Boot. Über 30 Plugins und Erweiterungen, Micro Unterstützt sowohl Monolith- als auch reine Microservice-Stile.
Rapidoid- Ein einfaches, sicheres und sehr schnelles Framework, das aus einem integrierten HTTP-Server, GUI-Komponenten und einer Abhängigkeitsinjektion besteht.
rest.li- Ein Framework zum Erstellen einer robusten und skalierbaren RESTful-Architektur mit typsicheren Bindungen und asynchronen nicht blockierenden E / A. Es bietet einen End-to-End-Entwicklerworkflow, der saubere Praktiken, ein einheitliches Schnittstellendesign und eine konsistente Datenmodellierung ermöglicht.
RESTEasy- Eine vollständig zertifizierte und tragbare Implementierung der JAX-RS-Spezifikation.
RestExpress- Ein Thin Wrapper auf dem JBoss Netty HTTP-Stack, der Skalierbarkeit und Leistung bietet.
Restlet Framework- Ein wegweisendes Framework mit leistungsstarken Routing- und Filterfunktionen, einer integrierten Client- und Server-API.
Spark-Sinatra-inspired Framework.
Crnk-JSON zum Erstellen ressourcenorientierter REST-Endpunkte, einschließlich Sortieren, Filtern, Paging, Links, Objektdiagrammen, Typensicherheit, Massenaktualisierungen, Konsolidierung usw. Implementierung von API-Spezifikationen.
Bibliothek zur wissenschaftlichen Berechnung, Analyse und Visualisierung *
DataMelt-Umgebung für wissenschaftliche Berechnungen, Datenanalyse, Datenvisualisierung.
Erdos- Ein modulares, leichtes und einfaches graphentheoretisches Framework.
GraphStream-Eine Bibliothek zum Modellieren und Analysieren dynamischer Graphen.
JFreeChart - Swing-, JavaFX- und 2D-Diagrammbibliothek zur Verwendung in serverseitigen Anwendungen.
JGraphT-Graph-Bibliothek, die Objekte und Algorithmen der mathematischen Graphentheorie bereitstellt.
JGraphX-Interaktion zwischen Visualisierungsbibliotheken (hauptsächlich Swing) und Knotenrandgraphen.
Mines Java Toolkit-Eine Bibliothek für geophysikalische Berechnungen, Visualisierungen und digitale Signalanalysen.
Morpheus- Bietet eine effiziente tabellarische Datenstruktur des vielseitigen zweidimensionalen Speichers namens DataFrame, Effizienz für wissenschaftliche Berechnungen auf der JVM Aktiviert die In-Memory-Analyse.
Orson-Charts-Erstellen Sie eine Vielzahl von 3D-Diagrammen, die in Swing und JavaFX angezeigt und in PDF, SVG, PNG, JPEG exportiert werden können Masu.
Tablesaw- Beinhaltet Datenrahmen, eingebettete Spaltenspeicher und Hunderte von Methoden zum Transformieren, Zusammenfassen oder Filtern von Daten.
XChart- Leichte Bibliothek zum Zeichnen von Daten. Viele anpassbare Diagrammtypen sind verfügbar.
Engine, die Dokumente für die Suche und Analyse indiziert *
Apache Lucene-Eine leistungsstarke, plattformübergreifende Textsuchmaschinenbibliothek mit vollem Funktionsumfang.
Apache Solr-Eine Unternehmenssuchmaschine, die für starken Datenverkehr optimiert ist.
Elasticsearch-Distributed Multi-Tenant-Volltextsuchmaschine mit RESTful-Weboberfläche und schemafreier JSON-Dokumentation.
Indexer4j-Einfache und einfache Volltext-Indizierungs- und Suchbibliothek.
Eine Bibliothek, die sich um Sicherheit, Authentifizierung, Autorisierung oder Sitzungsverwaltung kümmert. *
Apache Shiro- Führt Authentifizierung, Autorisierung, Verschlüsselung und Sitzungsverwaltung durch.
Hüpfburg-Universelle Kryptobibliothek. Eine breite Palette von Funktionen, von grundlegenden Helfern über JCA-Anbieter bis hin zu PGP / SMIME-Operationen.
Cryptomator-Multi-platform transparente clientseitige Verschlüsselung von Dateien in der Cloud.
Hdiv- Selbstverteidigung der Laufzeitanwendung gegen OWASP 10-Sicherheitsrisiken. Unsichere direkte Objektreferenzen, SQL-Injection, Cross-Site-Scripting (XSS), Cross-Site-Anforderungen Fälschungen (CSRF) usw.
jjwt - JSON Web Token für Java und Android.
Jwks RSA - JSON Web Key Set-Parser.
Kalium- Bindung an Netzwerk- und Verschlüsselungsbibliotheken (NaCl).
Keycloak-Integriertes SSO und IDM für Browser-Apps und RESTful-Webdienste.
Keyczar-Ein benutzerfreundliches und sicheres Verschlüsselungsframework mit Schlüsselversionierung.
Keywhiz- Ein System zur geheimen Verteilung und Verwaltung.
Nbvcxz-Erweiterte Schätzung der Kennwortstärke.
OACC-Bietet autorisierungsbasierte Autorisierungsdienste.
pac4j - Sicherheitsmodul.
SecurityBuilder (https://github.com/tersesystems/securitybuilder)-Fluent Builder-API für JCA- und JSSE-Klassen, insbesondere X.509-Zertifikate.
Themis-Eine plattformübergreifende Verschlüsselungsbibliothek mit mehreren Plattformen, die eine benutzerfreundliche Verschlüsselung zum Schutz geheimer Daten bietet. Weiterleiten geheimer Sicherheit Messaging, sicherer Datenspeicher (AES256GCM). Geeignet zum Erstellen von End-to-End-Verschlüsselungsanwendungen.
Tink- Bietet eine einfache, missbrauchsfreie API für allgemeine Verschlüsselungsaufgaben.
Vault (https://www.vaultproject.io) - Schützt, speichert und kontrolliert den Zugriff auf Token, Kennwörter, Zertifikate, API-Schlüssel und andere Geheimnisse. Leases, Schlüsselentzug Erledigt das Rollen von Schlüsseln und die Überwachung. Mithilfe einer einheitlichen API können Benutzer auf den verschlüsselten Schlüssel- / Wertspeicher zugreifen, um die Netzwerkverschlüsselung als Service oder AWS IAM / STS durchzuführen. Es kann Anmeldeinformationen, SQL / NoSQL-Datenbanken, X.509-Zertifikate, SSH-Anmeldeinformationen und mehr generieren.
Eine Bibliothek, die Serialisierung mit hoher Effizienz handhabt *
FlatBuffers-Eine speichereffiziente Serialisierungsbibliothek, mit der Sie serialisierte Daten ohne Analyse dekomprimieren und darauf zugreifen können.
FST - JJ-kompatible Hochleistungs-Objektgraphen-Serialisierung.
Kryo-Schnelles und effizientes Framework für die Serialisierung von Objektgraphen.
MessagePack-Effizientes binäres Serialisierungsformat.
PHP Serializer - Objekte im PHP Serializer-Format serialisieren.
Server zum Bereitstellen von Anwendungen *
Apache Tomcat- Ein leistungsstarker Allround-Server für Servlets und JSPs.
Apache TomEE - Tomcat + Java EE.
Jetty-Lightweight, kleiner Server, häufig in Projekten enthalten.
nanohttpd-Kleiner, einfach einzubettender HTTP-Server.
WebSphere Liberty![C]- Leichter und modularer Server, entwickelt von IBM.
WildFly- Umfangreiche Java EE-Unterstützung, früher bekannt als JBoss, entwickelt von Red Hat.
Ein Tool zum Ersetzen von Ausdrücken in Vorlagen *
Handlebars.java-Logiklose und semantische Moustache-Vorlage.
Jtwig-Eine modulare, konfigurierbare, vollständig getestete Template-Engine.
Jade4J - Jade-Implementierung.
Pebble -Twig-inspiriert, mit Vererbung und einfach zu lesender Syntax. Automatische Flucht aus Sicherheitsgründen, integrierte Unterstützung für die Internationalisierung enthalten.
Rocker-Eine optimierte, speichereffiziente und schnelle Vorlagen-Engine, die statisch typisierte einfache Objekte erzeugt.
Thymeleaf - Umgang mit gängigen XML-Dateien mit dem Ziel, JSP zu ersetzen.
BDD
Stark beeinflusst von DDD und OOAD, Tests für den TDD-Softwareentwicklungsprozess. *
Cucumber - BDD-Testframework.
Cukes-REST-Eine Sammlung von Gurkenschritten für REST-Servicetests mit Cucumber.
J8Spec-Eine Bibliothek, mit der in Java geschriebene Tests dem von RSpec und Jasmine eingeführten BDD-Stil folgen können.
JBehave-Framework für verhaltensorientierte Entwicklung.
JGiven - Ein entwicklerfreundliches BDD-Testframework, das mit JUnit und TestNG kompatibel ist.
Lamdba Behave-Descriptive Behaviour Specification Framework.
Serenity BDD - Automatische Abnahmetest- und Berichtsbibliothek, die mit Cucumber, JBehave und JUnit zusammenarbeitet, um das Schreiben hochwertiger ausführbarer Spezifikationen zu vereinfachen.
Alles im Zusammenhang mit der Erstellung und Verarbeitung von Zufallsdaten. *
Beanmother - Setzen Sie die Bean aus dem YAML-Gerät.
Fixture Factory-Erstellen Sie ein Pseudoobjekt aus einer Vorlage.
JFairy - Gefälschter Datengenerator.
Randomized Testing-JUnit-Testläufer und Plugins zum Ausführen von JUnit-Tests mit Pseudozufälligkeit.
Java Faker-Ruby Fake Generator Port.
Bietet eine Umgebung zum Ausführen von Tests für bestimmte Anwendungsfälle. *
ArchUnit - Architekturbibliothek, Spezifikation und Durchsetzung von Architekturregeln.
Apache JMeter-Funktionstests und Leistungsmessung.
Arquillian-Java EE Container Integrations- und Funktionstestplattform.
Citrus-Integriertes Testframework, das sich auf clientseitiges und serverseitiges Messaging konzentriert.
Gatling- Ein Lasttest-Tool, das auf Benutzerfreundlichkeit, Wartbarkeit und hohe Leistung ausgelegt ist.
JUnit-Universal Test Framework.
PIT - Ein schnelles Mutationstest-Framework zur Bewertung der Fehlererkennungsfunktionen vorhandener JUnit- oder TestNG-Testsuiten.
Pact JVM-Consumer-led Contract Testing.
Bibliothek, die benutzerdefinierte Matcher bereitstellt. *
AssertJ-Eine fließende Behauptung, die die Lesbarkeit verbessert.
JSONAssert- Vereinfacht das Testen von JSON-Zeichenfolgen.
Wahrheit-Googles Rahmenwerk für Behauptungen und Vorschläge.
XMLUnit- Vereinfacht das Testen der XML-Ausgabe.
Andere, im Zusammenhang mit Tests. *
junit-dataprovider- Ein Datenprovider-Läufer wie TestNG für JUnit.
Mutability Detector - Gibt an, ob die Instanz der angegebenen Klasse unveränderlich ist.
raml-tester-Tests, wenn die Anforderung / Antwort mit der angegebenen RAML-Definition übereinstimmt.
TestContainers- Bietet allgemeine Datenbanken, Selenium-Webbrowser oder alles andere, was in einem Docker-Container ausgeführt werden kann.
pojo-tester- Führt automatisch Tests für grundlegende POJO-Methoden durch.
Ein Tool zum Verspotten von Mitarbeitern, um eine unabhängige Einheit zu testen. *
JMockit - Verspotten Sie statische Methoden, endgültige Methoden usw.
Mockito-Erstellen eines Testdoppelobjekts mit einem automatisierten Komponententest für TDD oder BDD.
MockServer-Mocking des in HTTP / S integrierten Systems.
Moco- Ein prägnanter Webdienst für Stubs und Mock. Duke's Choice Award 2013.
PowerMock-Ermöglicht das Entfernen statischer Methoden, Konstruktoren, endgültiger Klassen und Methoden, privater Methoden und statischer Initialisierer.
WireMock-Stub and Mock Web Services.
Bibliothek mit allgemeinen Dienstprogrammfunktionen *
Bucket4j-Ratenbegrenzende Bibliothek basierend auf dem Token-Bucket-Algorithmus.
Kakteen - Eine Sammlung objektorientierter Grundelemente.
CRaSH - Bietet eine Shell für JVMs, auf denen CRaSH ausgeführt wird, z. B. Spring Boot.
Dex-Java / JavaFX-Tools mit leistungsstarker ETL- und Datenvisualisierung.
Embulk- Ein Massendatenlader, der die Datenübertragung zwischen verschiedenen Datenbanken, Speicher, Dateiformaten und Cloud-Diensten unterstützt.
Gephi-Cross-platform zur Visualisierung und Bearbeitung großer Graphennetzwerke.
Guava-Collection, Caching, primitive Unterstützung, Parallelitätsbibliothek, allgemeine Anmerkungen, Zeichenfolgenverarbeitung, E / A usw.
JADE-Framework und Umgebung zum Erstellen und Debuggen von Multi-Agent-Systemen.
JavaVerbalExpressions-Eine Bibliothek, mit der Sie schwierige reguläre Ausdrücke erstellen können.
JGit-Lightweight, reines Java, Git-Versionskontrollsystembibliothek.
minio-java- Bietet eine einfache API für den Zugriff auf Amazon S3-kompatible Objektspeicherserver.
Protégé- Bietet einen Ontroge-Editor und ein Framework zum Erstellen wissensbasierter Systeme.
Underscore-java --Underscore.js Feature-Port.
Dienstprogramm zum Einrichten der Entwicklungs-Shell-Umgebung und zum Wechseln zwischen verschiedenen Java-Versionen. *
jabba - Von NVM inspirierter Java-Versionsmanager. Unterstützt Mac OS X, Linux, Windows.
jenv-Java Versionsmanager, inspiriert von benv. Kann global oder pro Projekt konfiguriert werden. Getestet unter Debian und Mac OS X.
SDKMan-Java Versionsmanager, inspiriert von RVM und rbenv. Unterstützt UNIX-basierte Plattformen und Windows.
Bibliothek, die den Inhalt der Website analysiert *
Apache Nutch- Bietet einen hoch skalierbaren und skalierbaren Webcrawler für Produktionsumgebungen.
Crawler4j- Einfacher und leichter Webcrawler.
jsoup-Scrapes, analysiert, manipuliert und löscht HTML.
StormCrawler-SDK zum Erstellen eines skalierbaren Webcrawlers mit geringer Latenz.
Framework für die Kommunikation zwischen Ebenen von Webanwendungen *
Apache Tapestry- Ein dynamisches, robustes, erweiterbares, komponentenorientiertes Framework zum Erstellen von Webanwendungen.
Apache Wicket (https://wicket.apache.org/)- Ein komponentenbasiertes Webanwendungsframework ähnlich wie Tapestry mit einer zustandsbehafteten Benutzeroberfläche.
Blade-Elegantes, einfaches, leichtes und modulares Framework.
Bootique-Minimales Framework für ausführbare Anwendungen.
Firefly-Asynchrones Framework für die schnelle und leistungsstarke Entwicklung von Webanwendungen.
Grails- Ein Groovy-Framework, das eine produktive Umgebung bereitstellen soll, indem Konventionen Vorrang vor Konfiguration haben und XML und Mix-Ins unterstützen.
Jooby - Ein skalierbares, schnelles und modulares Mikroframework, das mehrere Programmiermodelle bietet.
Ninja - Vollständiges Stack-Webframework.
Pippo-Kleines und hochmodulares Sinatra-ähnliches Framework.
Play- Verwendet Regeln für Browsereinstellungen, Hotcode-Neuladen und Fehleranzeige.
PrimeFaces-JSF Framework, das kostenlose kommerzielle Versionen unterstützt. Bietet einige Front-End-Komponenten.
Ratpack-Schnelle, effiziente, gut getestete Bibliothek, die HTTP-Anwendungen erleichtert.
Takes-Ein meinungsbasiertes Webframework, das auf dem Konzept einer echten objektorientierten Programmierung und Unveränderlichkeit basiert.
Vaadin Flow (https://vaadin.com/flow)-Ein ereignisgesteuertes Framework, das Standard-Webkomponenten verwendet. Eine serverseitige Architektur mit Ajax auf der Clientseite.
Awesome Lists
Große Liste von Java / JVM-Ökosystemen *
Lebhafte Diskussion *
r / java - Unterschrift der Java-Community.
stackoverflow-Question / Answer Platform.
VirtualJUG - Virtuelle Java-Benutzergruppe.
Fantastische Java-Website (* nicht offizielle Website) *
Lesenswert, einflussreiche Bücher *
Dinge zu sehen und zu hören während der Programmierung *
Marco Behlers Screencasts-Screencasts für moderne Java-Entwickler.
The Java Posse - Discontinued as of 02/2015.
Empfohlen zu folgen, aktiver Twitter Account *
Adam Bien - Freelancer: Author, JavaONE Rockstar Speaker, Consultant, Java Champion.
Aleksey Shipilëv - Performance Geek, Benchmarking Tzar, Concurrency Bug Hunter.
Antonio Goncalves - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author.
Arun Gupta - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase.
Brian Goetz - Java Language Architect at Oracle.
Bruno Borges - Product Manager/Java Jock at Oracle.
Ed Burns - Consulting Member of the Technical Staff at Oracle.
Eugen Paraschiv - Author of the Spring Security Course.
Heinz Kabutz - Java Champion, speaker, author of The Java Specialists' Newsletter, concurrency performance expert.
James Weaver - Java/JavaFX/IoT developer, author and speaker.
Java EE - Official Java EE Twitter account.
Java Magazine - Official Java Magazine account.
Java - Official Java Twitter account.
Javin Paul - Well-known Java blogger.
Lukas Eder-JavaChampion,speaker,JUG.chco-leader,FounderandCEODataGeekery(jOOQ).
Mario Fusco - RedHatter, JUG coordinator, frequent speaker and author.
Mark Reinhold - Chief Architect, Java Platform Group, Oracle.
Markus Eisele - Java EE evangelist, Red Hat.
Martijn Verburg - London JUG co-leader, speaker, author, Java Champion and much more.
Martin Thompson - Pasty faced performance gangster.
OpenJDK - Official OpenJDK account.
Peter Lawrey - Peter Lawrey, Java performance expert.
Reza Rahman - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker.
Sander Mak - Java Champion, author.
Simon Maple - Java Champion, virtualJUG founder, LJC leader, RebelLabs author.
Stephen Colebourne - Java Champion, speaker.
Trisha Gee - Java Champion and speaker.
Websites, die zum Lesen nützlich sind *
Recommended Posts