awesome-java
Java通用基础组件汇总列表
https://github.com/wangchongjie/awesome-java
Last synced: about 10 hours ago
JSON representation
-
REST Frameworks
- Feign - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.
- Spark - Sinatra inspired framework.
- RAML - Modeling language to generate REST APIs with contract first.
- Rapidoid - A simple, secure and extremely fast framework consisting of embedded HTTP server, GUI components and dependency injection.
- Restlet Framework - Pioneering framework with powerful routing and filtering capabilities, unified client and server API.
- Retrofit - Type-safe REST client.
- Dropwizard - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.
- Jersey - JAX-RS reference implementation.
- Microserver - monolith and pure microservices styles.
- rest.li - Framework for building robust, scalable RESTful architectures using type-safe bindings and asynchronous, non-blocking IO with an end-to-end developer workflow that promotes clean practices, uniform interface design and consistent data modeling.
- RestExpress - Thin wrapper on the JBoss Netty HTTP stack to provide scaling and performance.
-
Natural Language Processing
- CoreNLP - Stanford's CoreNLP provides a set of fundamental tools for tasks like tagging, named entity recognition, sentiment analysis and many more.
- DKPro - A collection of re-usable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.
- LingPipe - Toolkit for a variety of tasks ranging from POS tagging to sentiment analysis.
-
JSON
- JSON-io - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.
- LoganSquare - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library.
- Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage.
- Jackson - Similar to GSON but has performance gains if you need to instantiate the library more often.
- Jackson-datatype-money - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.
-
Messaging
-
Performance analysis
- YourKit Java Profiler - Commercial profiler.
- JProfiler - Commercial profiler.
- jHiccup - Logs and records platform JVM stalls.
- LatencyUtils - Utilities for latency measurement and reporting.
- honest-profiler - An low-overhead, bias-free sampling profiler.
-
Ancients
- Trove - Primitive collections.
- Apache OpenNLP - Toolkit for common tasks like tokenization.
- JavaServer Pages - Common templating for websites with custom tag libraries.
- GlassFish - Application server and reference implementation for Java EE sponsored by Oracle.
- Hudson - Continuous integration server still in active development.
- JavaCC - More specific and slightly easier to learn. Has syntactic lookahead.
- Quartz - Open-source job scheduler library with Apache 2.0 license.
- Trove - Primitive collections.
- JavaServer Faces - Oracle's open-source implementation of the JSF standard, Mojarra.
-
Continuous Integration
- fabric8 - Integration platform for containers.
- TeamCity - JetBrain's CI solution with a free version.
- Travis - Hosted service often used for open-source projects.
- Bamboo - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it.
- Go - ThoughtWork's open-source solution.
-
Distributed Applications
- JGroups - Toolkit for reliable messaging and creating clusters.
- Akka - Toolkit and runtime for building concurrent, distributed, and fault tolerant event-driven applications.
- Apache Storm - Realtime computation system.
- Axon Framework - Framework for creating CQRS applications.
- Lagom - Framework for creating microservice-based systems.
- Atomix - Fault-tolerant distributed coordination framework.
- Copycat - Fault-tolerant state machine replication framework.
- Hystrix - Provides latency and fault tolerance.
- JGroups - Toolkit for reliable messaging and creating clusters.
- Orbit - Virtual Actors, adding another level of abstraction to traditional actors.
- Quasar - Lightweight threads and actors for the JVM.
-
Functional Programming
- Javaslang - Functional component library that provides persistent data types and functional control structures.
- derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms.
- Fugue - Functional extensions to Guava.
- Functional Java - Implements numerous basic and advanced programming abstractions that assist composition-oriented development.
- jOOλ - Extension to Java 8 which aims to fix gaps in lambda, providing numerous missing types and a rich set of sequential Stream API additions.
-
Geospatial
- H2GIS - A spatial extension of the H2 database.
- Apache SIS - Library for developing geospatial applications.
- H2GIS - A spatial extension of the H2 database.
- Geotoolkit.org - Library for developing geospatial applications. Built on top of the Apache SIS project.
-
Imagery
- ZXing - Multi-format 1D/2D barcode image processing library.
- Imgscalr - Simple and efficient hardware-accelerated image-scaling library implemented in pure Java 2D.
- Thumbnailator - Thumbnailator is a high-quality thumbnail generation library for Java.
- TwelveMonkeys - Collection of plugins which extend the number of supported image file formats.
-
JVM and JDK
-
Machine Learning
- Weka - Collection of algorithms for data mining tasks ranging from pre-processing to visualization.
- Deeplearning4j - Distributed and multi-threaded deep learning library.
- H2O - Analytics engine for statistics over big data.
- Smile - The Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.
- Apache Flink - Fast and reliable large-scale data processing engine.
- Apache Mahout - Scalable algorithms focused on collaborative filtering, clustering and classification.
- Weka - Collection of algorithms for data mining tasks ranging from pre-processing to visualization.
- JSAT - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution.
- Oryx 2 - A framework for building real-time large scale machine learning applications, which also includes end-to-end applications for collaborative filtering, classification, regression, and clustering.
- DeepDive - Creates structured information from unstructured data and integrates it into an existing database.
-
Miscellaneous
- JPad - Snippet runner.
- J2ObjC - Java to Objective-C translator for porting Android libraries to iOS.
- jabba - Java Version Manager inspired by nvm.
- Jimfs - In-memory file system.
- Codename One - Cross platform solution for writing native mobile (iOS, Android, etc.)
- Design Patterns - Implementation and explanation of the most common design patterns.
- Failsafe - Simple failure handling with retries and circuit breakers.
- Lanterna - Easy console text GUI library similar to curses.
- Modern Java - A Guide to Java 8 - Popular Java 8 guide.
- TypeTools - Tools for resolving generic types.
-
Monitoring
- SPM - Commercial performance monitor with distributing transaction tracing for JVM apps.
- AppDynamics - Commercial performance monitor.
- New Relic - Commercial performance monitor.
- SPM - Commercial performance monitor with distributing transaction tracing for JVM apps.
- JavaMelody - Performance monitoring and profiling.
- Pinpoint - Open source APM tool.
- Jolokia - JMX over REST.
- Kamon - Tool for monitoring applications running on the JVM.
- Prometheus - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.
- Glowroot - Open source Java APM.
- Stagemonitor - Open source performance monitoring and transaction tracing for JVM apps.
-
PDF
- DynamicReports - Simplifies JasperReports.
- JasperReports - Complex reporting engine.
- DynamicReports - Simplifies JasperReports.
- flyingsaucer - XML/XHTML and CSS 2.1 renderer.
- JasperReports - Complex reporting engine.
-
Security
- Bouncy Castle - All-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations.
- OACC - Provides permission-based authorization services.
- Apache Shiro - Performs authentication, authorization, cryptography and session management.
- Keycloak - Integrated SSO and IDM for browser apps and RESTful web services.
- PicketLink - Umbrella project for security and identity management.
- OACC - Provides permission-based authorization services.
- pac4j - Security engine.
- Cryptomator - Multiplatform transparent client-side encryption of files in the cloud.
- Bouncy Castle - All-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations.
- Google Keyczar - Easy to use, yet safe encryption framework with key versioning.
-
Testing
- JMockit - Mocks static, final methods and more.
- Spock - JUnit-compatible framework featuring an expressive Groovy-derived specification language.
- Apache JMeter - Functional testing and performance measurements.
- Cukes-REST - A collection of Gherkin steps for REST-service testing using Cucumber.
- Gatling - Load testing tool designed for ease of use, maintainability and high performance.
- Hamcrest - Matchers that can be combined to create flexible expressions of intent.
- J8Spec - J8Spec is a library that allows tests written in Java to follow the BDD style introduced by RSpec and Jasmine.
- JBehave - Framework for Behavioural Driven Development.
- JGiven - Developer-friendly BDD testing framework compatible with JUnit and TestNG.
- PIT - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites.
- PowerMock - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers.
- REST Assured - Java DSL for easy testing for REST/HTTP services.
- Selenide - Concise API around Selenium to write stable and readable UI tests.
- Spock - JUnit-compatible framework featuring an expressive Groovy-derived specification language.
- WireMock - Stubbs and mocks web services.
- Citrus - Integration testing framework with focus on client- and serverside messaging.
- ConcurrentUnit - Toolkit for testing multi-threaded and asynchronous applications.
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- Awaitility - DSL for synchronizing asynchronous operations.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- JMockit - Mocks static, final methods and more.
- Arquillian - Integration and functional testing platform for Java EE containers.
- AssertJ - Fluent assertions that improve readability.
- Cucumber - BDD testing framework.
- junit-dataprovider - A TestNG like dataprovider runner for JUnit.
- JUnitParams - Creation of readable and maintainable parametrised tests.
- Mockito - Creation of test double objects in automated unit tests for the purpose of TDD or BDD.
- Moco - Concise web services for stubs and mocks, Duke's Choice Award 2013.
- Selenium - Portable software testing framework for web applications.
- Truth - Google's assertion and proposition framework.
-
Web Frameworks
- Pippo - Small, highly modularized Sinatra-like framework.
- Apache Tapestry - Component-oriented framework for creating dynamic, robust, highly scalable web applications.
- Apache Wicket - Component-based web application framework similar to Tapestry with a stateful GUI.
- Blade - Lightweight, modular framework which aims to be elegant and simple.
- Jooby - Scalable, fast and modular micro framework which offers multiple programming models.
- Ninja - Full stack web framework.
- PrimeFaces - JSF framework which has a free and a commercial version with support. Provides several frontend components.
- Vaadin - Event-driven framework build on top of GWT. Uses server-side architecture with Ajax on the client-side.
- Pippo - Small, highly modularized Sinatra-like framework.
- Grails - Groovy framework with the aim to provide a highly productive environment by favoring convention over configuration, no XML and support for mixins.
- Play - Uses convention over configuration, hot code reloading and display of errors in the browser.
- Ratpack - Set of libraries that facilitate fast, efficient, evolvable and well tested HTTP applications.
-
Influential Books
-
Twitter
- Aleksey Shipilëv - Performance Geek, Benchmarking Tzar, Concurrency Bug Hunter.
- Adam Bien - Freelancer: Author, JavaONE Rockstar Speaker, Consultant, Java Champion.
- 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.
- 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 - Java Champion, speaker, JUG.ch co-leader, Founder and CEO Data Geekery (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.
- Simon Maple - Java Champion, virtualJUG founder, LJC leader, RebelLabs author.
- Stephen Colebourne - Java Champion, speaker.
- Trisha Gee - Java Champion and speaker.
- Brian Goetz - Java Language Architect at Oracle.
- James Weaver - Java/JavaFX/IoT developer, author and speaker.
- Lukas Eder - Java Champion, speaker, JUG.ch co-leader, Founder and CEO Data Geekery (jOOQ).
- Mark Reinhold - Chief Architect, Java Platform Group, Oracle.
- Martijn Verburg - London JUG co-leader, speaker, author, Java Champion and much more.
- Peter Lawrey - Peter Lawrey, Java performance expert.
- Stephen Colebourne - Java Champion, speaker.
- Bruno Borges - Product Manager/Java Jock at Oracle.
- Martin Thompson - Pasty faced performance gangster.
- OpenJDK - Official OpenJDK account.
- Reza Rahman - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker.
- Arun Gupta - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase.
- Java EE - Official Java EE Twitter account.
- Simon Maple - Java Champion, virtualJUG founder, LJC leader, RebelLabs author.
- Trisha Gee - Java Champion and speaker.
- Adam Bien - Freelancer: Author, JavaONE Rockstar Speaker, Consultant, Java Champion.
- Java - Official Java Twitter account.
- Java Magazine - Official Java Magazine account.
- Javin Paul - Well-known Java blogger.
- Mario Fusco - RedHatter, JUG coordinator, frequent speaker and author.
- Markus Eisele - Java EE evangelist, Red Hat.
- Antonio Goncalves - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author.
- Aleksey Shipilëv - Performance Geek, Benchmarking Tzar, Concurrency Bug Hunter.
- Ed Burns - Consulting Member of the Technical Staff at Oracle.
- Eugen Paraschiv - Author of the Spring Security Course.
-
Podcasts
- The Java Council
- The Java Posse - Discontinued as of 02/2015.
- The Java Council
- The Java Posse - Discontinued as of 02/2015.
-
Bytecode Manipulation
- Byteman - Manipulate bytecode at runtime via DSL (rules) mainly for testing/troubleshooting.
- Javassist - Tries to simplify the editing of bytecode.
- Byte Buddy - Further simplifies bytecode generation with a fluent API.
- ASM - All purpose, low level, bytecode manipulation and analysis.
- cglib - Bytecode generation library.
-
Compiler-compiler
- ANTLR - Complex full-featured framework for top-down parsing.
-
Configuration
-
CSV
- opencsv - Simple CSV parser with a commercial-friendly license.
- Super CSV - Powerful CSV parser with support for Dozer, Joda-Time and Java 8.
- uniVocity-parsers - One of the fastest and most feature-complete CSV. Also comes with parsers for TSV and fixed width records.
-
Database
- Jedis - A small client for interaction with redis, with methods for commands.
- Flyway - Simple database migration tool.
- Chronicle Map - Efficient in-memory (opt. persisted to disk) off-heap key-value store.
- eXist - A NoSQL document database and application platform.
- FlexyPool - Brings metrics and failover strategies to the most common connection pooling solutions.
- HikariCP - High performance JDBC connection pool.
- Presto - Distributed SQL query engine for big data.
- Apache Hive - Data warehouse infrastructure built on top of Hadoop.
- H2 - Small SQL Database notable for its in-memory functionality.
- JDBI - Convenient abstraction of JDBC.
- jOOQ - Generates typesafe code based on SQL schema.
- Querydsl - Typesafe unified queries.
- Realm - Mobile database to run directly inside phones, tablets or wearables.
- Speedment - A database access library that utilizes the Java 8 Stream API for querying.
- Vibur DBCP - JDBC connection pool library which offers advanced performance monitoring capabilities.
-
Data structures
- SBE - Simple Binary Encoding, one of the fastest message formats around.
- Apache Avro - Data interchange format featuring among others: dynamic typing, untagged data, absence of manually assigned IDs.
- Apache Orc - Fast and efficient columnar storage format for hadoop based workloads.
- Apache Thrift - Data interchange format that originated at Facebook.
- Protobuf - Google's data interchange format.
- Wire - Clean, lightweight protocol buffers.
-
Distributed Databases
- Infinispan - Highly concurrent key/value datastore used for caching.
-
Formal Verification
- Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more.
- Daikon - Daikon detects likely program invariants and can generate JML specs based on those invariats.
- Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more.
- CATG - Concolic unit testing engine. Automatically generates unit tests using formal methods.
- Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA.
-
IDE
- IntelliJ IDEA - Supports a lot of JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector.
-
Networking
- Undertow - Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly.
- Finagle - Extensible RPC system used to construct high-concurrency servers. It implements uniform client and server APIs for several protocols, and is protocol agnostic, which simplifies the implementation of new protocols.
- gRPC - RPC framework based on protobuf and HTTP/2.
- Riptide - Client-side response routing for Spring's RestTemplate.
- urnlib - Java library for representing, parsing and encoding URNs as in RFC 2141.
- Nifty - Implementation of Thrift clients and servers on Netty.
- Async Http Client - Asynchronous HTTP and WebSocket client library.
- Comsat - Integrates standard Java web-related APIs with Quasar fibers and actors.
- Grizzly - NIO framework. Used as a network layer in Glassfish.
-
Platform
- Spring - Provides many packages ranging from dependency injection to aspect-oriented programming to security.
-
Reactive libraries
- Reactive Streams - Provide a standard for asynchronous stream processing with non-blocking backpressure.
- Reactor - Library for building reactive fast-data applications.
- RxJava - Library for composing asynchronous and event-based programs using observable sequences from the JVM.
-
Science
- GraphStream - Library for modeling and analysis of dynamic graphs.
- JGraphT - Graph library that provides mathematical graph-theory objects and algorithms.
- JGraphX - Library for visualisation (mainly Swing) and interaction with node-edge graphs.
-
Server
- Apache TomEE - Tomcat plus Java EE.
- Jetty - Lightweight, small server, often embedded in projects.
- WildFly - Formerly known as JBoss and developed by Red Hat with extensive Java EE support.
- WebSphere Liberty - Lightweight, modular server developed by IBM.
-
Template Engine
- Thymeleaf - Aims to be a substitute for JSP and works for XML files in general.
- Handlebars.java - Logic-less and semantic Mustache templates.
-
Utility
- Apache Commons - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing.
- Gephi - Cross-platform for visualizing and manipulating large graph networks.
- Protégé - Provides an ontology editor and a framework to build knowledge-based systems.
- CRaSH - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others.
- Dex - Java/JavaFX tool capable of powerful ETL and data visualization.
- Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
- JADE - Framework and environment for building and to debugging multi-agent systems.
- JavaVerbalExpressions - A library that helps to construct difficult regular expressions.
-
Web Crawling
-
Communities
- stackoverflow - Question/answer platform.
- vJUG - Virtual Java User Group.
- r/java - Subreddit for the Java community.
-
Websites
-
Cluster Management
- Singularity - Singularity is a Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks.
-
High Performance
- Agrona - Data structures and utility methods that are common in high-performance applications.
- Koloboke - Hash sets and hash maps.
- HPPC - Primitive collections.
- GS Collections - Collection framework inspired by Smalltalk.
- JCTools - Concurrency tools currently missing from the JDK.
-
JSON Processing
- JsonPath - Extract data from JSON using XPATH like syntax.
- fastjson - Very fast processor with no additional dependencies and full data binding.
- Jolt - JSON to JSON transformation tool.
- JsonSurfer - Streaming JsonPath processor dedicated to processing big and complicated JSON data.
-
Logging
- Kibana - Analyzes and visualizes log files. Some features require payment.
- Logstash - Tool for managing log files.
- Logbook - Extensible, open-source library for HTTP request and response logging.
- Logback - Robust logging library with interesting configuration options via Groovy.
- Graylog - Open-source aggregator suited for extended role and permission management.
- tinylog - Lightweight logging framework with static logger class.
-
Native
- JNR - Work with native libraries without writing JNI. Also provides interfaces to common system libraries. Same goals as JNA, but faster, and serves as the basis for the upcoming [Project Panama](http://openjdk.java.net/projects/panama/).
- JNA - Work with native libraries without writing JNI. Also provides interfaces to common system libraries.
-
Search
- Apache Lucene - High-performance, full-featured cross-platform text search engine library.
- Elasticsearch - Distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents.
-
Serialization
- FlatBuffers - Memory efficient serialization library that can access serialized data without unpacking and parsing it.
- FST - JDK compatible high performance object graph serialization.
- Kryo - Fast and efficient object graph serialization framework.
- MessagePack - Efficient binary serialization format.
-
Code Coverage
- Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics; GPLv2 licensed.
-
Date and Time
- Almanac Converter - Simple conversion between different calendar systems.
- ThreeTenBP - Port of JSR 310 (java.time package) by the author of Joda-Time.
- Time4J - Advanced date and time library.
-
Command-line Argument Parsers
- JOpt Simple - Simple parser that uses the POSIX getopt() and GNU getopt_long() syntaxes. Does not use annotations, uses a fluent API instead.
- args4j - Small library to parse command like arguments similar to javac.
- JCommander - Command line arguments parsing framework with custom types and validation via implementing interfaces.
-
Code Analysis
- Checkstyle - Static analysis of coding conventions and standards.
- Error Prone - Catches common programming mistakes as compile-time errors.
- PMD - Source code analysis for finding bad coding practices.
- FindBugs - Static analysis of bytecode to find potential bugs.
-
GUI
- SWT - The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform.
- JavaFX - The successor of Swing.
- Scene Builder - Visual layout tool for JavaFX applications.
-
Development
- Immutables - Scala-like case classes.
- JHipster - Yeoman source code generator to create applications based on Spring Boot and AngularJS.
- Lombok - Code-generator which aims to reduce the verbosity.
- Spring Loaded - Class reloading agent.
- ADT4J - JSR-269 code generator for algebraic data types.
- Auto - Collection of source code generators.
- DCEVM - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime.
- HotswapAgent - Unlimited runtime class and resource redefinition.
-
Game Development
- jMonkeyEngine - Game engine for modern 3D development.
- libGDX - All-round cross-platform, high-level framework.
- LWJGL - Robust framework that abstracts libraries like OpenGL/CL/AL.
-
Frontends
-
Bean Mapping
- JMapper - Using byte code manipulation for lightning fast mapping. Supporting annotations, API or XML configuration.
- MapStruct - Code generator which simplifies mappings between different bean types, based on a convention over configuration approach.
- Orika - Orika is a Java Bean mapping framework that recursively copies (among other capabilities) data from one object to another.
- Selma - Stupid Simple Statically Linked Mapper. Selma is an Annotation Processor Based bean mapper.
-
Caching
- Caffeine - High performance, near optimal caching library.
-
Dependency Injection
- Inversion of Control
- Apache DeltaSpike - CDI extension framework.
- Guice - Lightweight but powerful framework that completes Dagger.
- HK2 - Light-weight and dynamic dependency injection framework.
-
Distribution
- Bintray - Version control for binaries which handles the publishing. Can also be used with Maven or Gradle and has a free plan for open-source software or several business plans.
- JitPack - Easy to use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages.
- Nexus - Binary management with proxy and caching capabilities.
Programming Languages
Categories
Twitter
50
Testing
40
Database
15
Websites
14
Web Frameworks
12
Monitoring
11
REST Frameworks
11
Distributed Applications
11
Security
10
Machine Learning
10
Miscellaneous
10
Networking
9
Ancients
9
Development
8
Utility
8
Logging
6
Data structures
6
Influential Books
6
Formal Verification
5
Performance analysis
5
Functional Programming
5
Bytecode Manipulation
5
High Performance
5
JSON
5
PDF
5
Continuous Integration
5
Messaging
5
Imagery
4
Geospatial
4
JVM and JDK
4
Server
4
Serialization
4
Podcasts
4
Code Analysis
4
Dependency Injection
4
JSON Processing
4
Bean Mapping
4
Command-line Argument Parsers
3
Communities
3
Distribution
3
CSV
3
GUI
3
Natural Language Processing
3
Game Development
3
Date and Time
3
Reactive libraries
3
Science
3
Web Crawling
2
Configuration
2
Native
2
Template Engine
2
Search
2
Frontends
1
Platform
1
Compiler-compiler
1
Caching
1
Code Coverage
1
Cluster Management
1
Distributed Databases
1
IDE
1
Sub Categories
Keywords
java
44
microservices
5
spring-boot
4
serialization
4
monitoring
4
rpc
4
java-8
3
static-analysis
3
spring
3
android
3
database
3
testing
2
data-structures
2
json
2
json-parser
2
test-driven-development
2
client-side
2
http
2
plugin-extension
2
spring-boot-starter
2
c
2
testing-tools
2
c-plus-plus
2
junit
2
grpc
2
marshalling
2
protobuf
2
kafka
2
messaging
2
java-library
2
connection-pool
2
annotation-processor
2
machine-learning
2
async
2
performance
2
static-code-analysis
2
javafx
2
code-quality
2
metrics
2
stream
2
apm
2
xml
1
high-performance
1
jdbc
1
cloning
1
kryo
1
tei-xml
1
nosql
1
native-xml-database
1
exist-db
1