awesome-java
Java通用基础组件汇总列表
https://github.com/wangchongjie/awesome-java
Last synced: 7 days ago
JSON representation
-
Networking
- Grizzly - NIO framework. Used as a network layer in Glassfish.
- Async Http Client - Asynchronous HTTP and WebSocket client library.
- Comsat - Integrates standard Java web-related APIs with Quasar fibers and actors.
- 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.
- Nifty - Implementation of Thrift clients and servers on Netty.
- Riptide - Client-side response routing for Spring's RestTemplate.
- urnlib - Java library for representing, parsing and encoding URNs as in RFC 2141.
- Undertow - Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly.
-
ORM
- Ebean - Provides simple and fast data access.
-
PDF
- DynamicReports - Simplifies JasperReports.
- JasperReports - Complex reporting engine.
- DynamicReports - Simplifies JasperReports.
- flyingsaucer - XML/XHTML and CSS 2.1 renderer.
- JasperReports - Complex reporting engine.
- Apache FOP - Creates PDF from XSL-FO.
- Apache PDFBox - Toolbox for creating and manipulating PDF.
- Dynamic Jasper - Abstraction layer to JasperReports.
- iText - Creates PDF files programmatically but requires a license for commercial purposes.
-
Performance analysis
- JProfiler - Commercial profiler.
- YourKit Java Profiler - 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.
-
Platform
- Spring - Provides many packages ranging from dependency injection to aspect-oriented programming to security.
-
Podcasts
- The Java Council
- The Java Posse - Discontinued as of 02/2015.
- The Java Posse - Discontinued as of 02/2015.
- The Java Council
-
Reactive libraries
- RxJava - Library for composing asynchronous and event-based programs using observable sequences from the JVM.
-
REST Frameworks
- Spark - Sinatra inspired framework.
- Jersey - JAX-RS reference implementation.
- Dropwizard - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.
- 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.
- Feign - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.
- Restlet Framework - Pioneering framework with powerful routing and filtering capabilities, unified client and server API.
- Rapidoid - A simple, secure and extremely fast framework consisting of embedded HTTP server, GUI components and dependency injection.
- RESTEasy - Fully certified and portable implementation of the JAX-RS specification.
-
Science
-
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.
-
Security
- Bouncy Castle - All-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations.
- Cryptomator - Multiplatform transparent client-side encryption of files in the cloud.
- OACC - Provides permission-based authorization services.
- 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.
- OACC - Provides permission-based authorization services.
- pac4j - Security engine.
- Keycloak - Integrated SSO and IDM for browser apps and RESTful web services.
- PicketLink - Umbrella project for security and identity management.
-
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.
-
Server
- WebSphere Liberty - Lightweight, modular server developed by IBM.
- Apache TomEE - Tomcat plus Java EE.
-
Template Engine
- Handlebars.java - Logic-less and semantic Mustache templates.
- Thymeleaf - Aims to be a substitute for JSP and works for XML files in general.
-
Testing
- Arquillian - Integration and functional testing platform for Java EE containers.
- Citrus - Integration testing framework with focus on client- and serverside messaging.
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL.
- JMockit - Mocks static, final methods and more.
- Spock - JUnit-compatible framework featuring an expressive Groovy-derived specification language.
- 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.
- 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.
- AssertJ - Fluent assertions that improve readability.
- ConcurrentUnit - Toolkit for testing multi-threaded and asynchronous applications.
- 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.
- Awaitility - DSL for synchronizing asynchronous operations.
- Cukes-REST - A collection of Gherkin steps for REST-service testing using Cucumber.
- PowerMock - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers.
- Gatling - Load testing tool designed for ease of use, maintainability and high performance.
- 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.
- Selenide - Concise API around Selenium to write stable and readable UI tests.
- Spock - JUnit-compatible framework featuring an expressive Groovy-derived specification language.
-
Twitter
- 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.
- 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.
- Bruno Borges - Product Manager/Java Jock at Oracle.
- Brian Goetz - Java Language Architect at Oracle.
- Ed Burns - Consulting Member of the Technical Staff at Oracle.
- Eugen Paraschiv - Author of the Spring Security Course.
- Java Magazine - Official Java Magazine account.
- Javin Paul - Well-known Java blogger.
- Mario Fusco - RedHatter, JUG coordinator, frequent speaker and author.
- 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.
- Trisha Gee - Java Champion and speaker.
-
Utility
- 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.
- 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.
- JavaVerbalExpressions - A library that helps to construct difficult regular expressions.
- Protégé - Provides an ontology editor and a framework to build knowledge-based systems.
- Apache Commons - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing.
-
Web Crawling
- Crawler4j - Simple and lightweight web crawler.
-
Web Frameworks
- Grails - Groovy framework with the aim to provide a highly productive environment by favoring convention over configuration, no XML and support for mixins.
- Pippo - Small, highly modularized Sinatra-like framework.
- 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.
- Pippo - Small, highly modularized Sinatra-like framework.
- Apache Tapestry - Component-oriented framework for creating dynamic, robust, highly scalable web applications.
- Blade - Lightweight, modular framework which aims to be elegant and simple.
- PrimeFaces - JSF framework which has a free and a commercial version with support. Provides several frontend components.
-
Websites
Programming Languages
Categories
Twitter
37
Testing
34
Database
15
Websites
13
Miscellaneous
12
Ancients
12
Development
10
REST Frameworks
10
Distributed Applications
9
Security
9
Machine Learning
9
PDF
9
Networking
9
Monitoring
9
Formal Verification
8
Web Frameworks
8
Utility
7
Logging
7
High Performance
6
Data structures
6
JSON
6
Functional Programming
6
Influential Books
6
Performance analysis
5
Dependency Injection
5
Continuous Integration
5
Messaging
5
JSON Processing
4
Imagery
4
Distribution
4
Date and Time
4
JVM and JDK
4
Serialization
4
Podcasts
4
Code Analysis
4
Bean Mapping
4
Bytecode Manipulation
4
Command-line Argument Parsers
4
GUI
3
Natural Language Processing
3
Science
3
Geospatial
3
CSV
3
Game Development
3
Server
2
Communities
2
Native
2
Configuration
2
Search
2
Template Engine
2
Platform
1
Code Coverage
1
ORM
1
Document Processing
1
Frontends
1
Caching
1
Reactive libraries
1
Cluster Management
1
Web Crawling
1
Compiler-compiler
1
Build
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