awesome-java
A curated list of awesome frameworks, libraries and software for the Java programming language.
https://github.com/eric-erki/awesome-java
Last synced: 10 days ago
JSON representation
-
Projects
-
Security
- Hdiv - Runtime application that repels application security risks included in the OWASP Top 10, including SQL injection, cross-site scripting, cross-site request forgery, data tampering, and brute force attacks.
- jjwt - JSON web token for Java and Android.
- Jwks RSA - JSON Web Key Set parser.
- Kalium - Binding for the Networking and Cryptography (NaCl) library.
- Keywhiz - System for distributing and managing secrets.
- Nbvcxz - Advanced password strength estimation.
- OACC - Provides permission-based authorization services.
- pac4j - Security engine.
- SecurityBuilder - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.
- Tink - Provides a simple and misuse-proof API for common cryptographic tasks.
- Vault - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more.
- Keycloak - Integrated SSO and IDM for browser apps and RESTful web services.
-
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.
- PHP Serializer - Serializing objects in the PHP serialization format.
-
Server
- nanohttpd - Tiny, easily embeddable HTTP server.
- Jetty - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.
- WildFly - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)
-
Template Engine
- Jtwig - Modular, configurable and fully tested template engine.
- Jade4J - Implementation of Pug (formerly known as Jade).
- Rocker - Optimized, memory efficient and speedy template engine producing statically typed, plain objects.
- Jtwig - Modular, configurable and fully tested template engine.
- Handlebars.java - Logicless and semantic Mustache templates.
- Thymeleaf - Aims to be a substitute for JSP and works for XML files.
-
Testing
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)
- Serenity BDD - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.
- ConcurrentUnit - Toolkit for testing multi-threaded and asynchronous applications.
- Hoverfly Java - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services.
- Karate - DSL that combine API test-automation, mocks and performance-testing making testing REST/HTTP services easy.
- Cucumber - Provides a way to describe features in a plain language which customers can understand.
- J8Spec - Follows a Jasmine-like syntax.
- Lamdba Behave - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.
- Beanmother - Sets up beans from YAML fixtures.
- Fixture Factory - Generates fake objects from a template.
- jFairy - Fake data generator.
- Randomized Testing - JUnit test runner and plugins for running JUnit tests with pseudo-randomness.
- Java Faker - Port of Ruby's fake data generator.
- ArchUnit - Test library for specifying and asserting architecture rules.
- XMLUnit - Simplifies testing for XML output.
- junit-dataprovider - TestNG-like data provider/runner for JUnit.
- Mutability Detector - Reports whether instances of a given class are immutable.
- raml-tester - Tests if a request/response matches a given RAML definition.
- TestContainers - Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
- JMockit - Integration testing, API mocking and faking, and code coverage.
- Mockito - Mocking framework that lets you write tests with a clean and simple API.
- Moco - Concise web services for stubs and mocks.
- Pact JVM - Consumer-driven contract testing.
- Awaitility - DSL for synchronizing asynchronous operations.
- Cukes-REST - Collection of Gherkin steps for REST-service testing using Cucumber.
- PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.
- JBehave - Extensively configurable framework that describes stories.
- Hamcrest - Matchers that can be combined to create flexible expressions of intent.
- pojo-tester - Automatically performs tests on basic POJO methods. (LGPL-3.0-only)
- REST Assured - DSL for easy testing of REST/HTTP services.
- JUnit - Common testing framework.
- AssertJ - Fluent assertions that improve readability.
-
Utility
- Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.
- JADE - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)
- CRaSH - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)
- Dex - Java/JavaFX tool capable of powerful ETL and data visualization.
- fswatch - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.
- Gephi - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)
- JavaVerbalExpressions - Library that helps with constructing difficult regular expressions.
- JGit - Lightweight, pure Java library implementing the Git version control system.
- minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server.
- Underscore-java - Port of Underscore.js functions.
- bucket4j - Rate limiting library based on token-bucket algorithm.
- Protégé - Provides an ontology editor and a framework to build knowledge-based systems.
- cactoos - Collection of object-oriented primitives.
-
Version Managers
-
Web Crawling
- Crawler4j - Simple and lightweight web crawler.
- StormCrawler - SDK for building low-latency and scalable web crawlers.
- webmagic - Scalable crawler with downloading, url management, content extraction and persistent.
- StormCrawler - SDK for building low-latency and scalable web crawlers.
-
Web Frameworks
- Vaadin Flow - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side.
- Firefly - Asynchronous framework for rapid development of high-performance web application.
- Pippo - Small, highly modularized, Sinatra-like framework.
- Takes - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.
- PrimeFaces - JSF framework with both free and commercial/support versions and frontend components.
- 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.
- Bootique - Minimally opinionated framework for runnable apps.
- Grails - Groovy framework that provides a highly productive environment by favoring convention over configuration, no XML and support for mixins.
- Jooby - Scalable, fast and modular micro-framework that offers multiple programming models.
- Ninja - Full-stack web framework.
- Play - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.
-
-
Resources
-
Awesome Lists
-
Communities
- r/java - Subreddit for the Java community.
- Stack Overflow - Question/answer platform.
- VirtualJUG - Virtual Java User Group.
-
Frontends
-
Influential Books
-
Podcasts and Screencasts
- The Java Council
- The Java Posse - Discontinued as of 02/2015.
- Marco Behler's Screencasts - Screencasts about modern Java development.
-
Twitter
- Aleksey Shipilëv - Performance geek, benchmarking czar, concurrency bug hunter.
- Brian Goetz - Java Language Architect at Oracle.
- Bruno Borges - Product Manager/Java Jock at Oracle.
- Chris Richardson - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, \*POJOs in Action- author.
- 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.
- Holly Cummins - Technical Lead of IBM London's Bluemix Garage, Java Champion, developer, author, JavaOne rockstar.
- James Weaver - Java/JavaFX/IoT developer, author and speaker.
- Java Magazine - Official Java Magazine account.
- Javin Paul - Well-known Java blogger.
- Josh Long - Spring Advocate at Pivotal, author of O'Reilly's Cloud Native Java- and Building Microservices with Spring Boot, JavaOne Rock Star.
- 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 Heckler - Pivotal Principal Technologist and Developer Advocate, conference speaker, published author, and Java Champion, focusing on Internet of Things and the cloud.
- 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.
- Monica Beckwith - Performance consultant, JavaOne Rock Star.
- OpenJDK - Official OpenJDK account.
- Peter Lawrey - Peter Lawrey, Java performance expert.
- Randy Shoup - Stitch Fix VP Engineering, speaker, JavaOne Rock Star.
- 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.
- Spencer Gibb - Software Engineer, Dad, Geek, Co-founder and Lead of Spring Cloud Core @pivotal.
- Stephen Colebourne - Java Champion, speaker.
- Trisha Gee - Java Champion and speaker.
- Venkat Subramaniam - Author, University of Houston professor, MicroSoft MVP award recipient, JavaOne Rock Star, Java Champion.
- Vlad Mihalcea - Java Champion working on Hypersistence Optimizer, database aficionado, author of High-Performance Java Persistence book.
- Chris Richardson - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, \*POJOs in Action- author.
- Josh Long - Spring Advocate at Pivotal, author of O'Reilly's Cloud Native Java- and Building Microservices with Spring Boot, JavaOne Rock Star.
- Randy Shoup - Stitch Fix VP Engineering, speaker, JavaOne Rock Star.
- Arun Gupta - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase.
- Java EE - Official Java EE Twitter account.
- Adam Bien - Freelance author, JavaOne Rockstar speaker, consultant, Java Champion.
- Spencer Gibb - Software Engineer, Dad, Geek, Co-founder and Lead of Spring Cloud Core @pivotal.
- Venkat Subramaniam - Author, University of Houston professor, MicroSoft MVP award recipient, JavaOne Rock Star, Java Champion.
- Vlad Mihalcea - Java Champion working on Hypersistence Optimizer, database aficionado, author of High-Performance Java Persistence book.
- Bruno Borges - Product Manager/Java Jock at Oracle.
- Antonio Goncalves - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author.
- Holly Cummins - Technical Lead of IBM London's Bluemix Garage, Java Champion, developer, author, JavaOne rockstar.
- Java - Official Java Twitter account.
- Monica Beckwith - Performance consultant, JavaOne Rock Star.
- Sander Mak - Java Champion, author.
- Aleksey Shipilëv - Performance geek, benchmarking czar, concurrency bug hunter.
- Brian Goetz - Java Language Architect at Oracle.
- Heinz Kabutz - Java Champion, speaker, author of The Java Specialists' Newsletter, concurrency performance expert.
- Markus Eisele - Java EE evangelist, Red Hat.
- Martin Thompson - Pasty faced performance gangster.
- Peter Lawrey - Peter Lawrey, Java performance expert.
-
Websites
-
Programming Languages
Categories
Sub Categories
Twitter
52
Testing
32
Miscellaneous
29
Platform
28
Database
21
REST Frameworks
20
JSON
17
Security
15
Monitoring
14
Websites
14
Utility
13
Web Frameworks
12
Science
11
CLI
11
Awesome Lists
11
Networking
11
Distributed Applications
10
Bean Mapping
10
JVM and JDK
9
Geospatial
9
Code Analysis
9
Configuration
8
Logging
8
High Performance
8
Machine Learning
8
HTTP Clients
8
Bytecode Manipulation
7
Development
7
Data Structures
7
Messaging
7
Formal Verification
7
Functional Programming
7
Dependency Injection
7
PDF
7
Template Engine
6
Imagery
6
Code Generators
6
Introspection
5
Distribution
5
Performance analysis
5
Serialization
5
Influential Books
5
Natural Language Processing
5
Financial
4
Reactive libraries
4
ORM
4
Web Crawling
4
Microservice
4
CSV
4
Job Scheduling
4
Server
3
Communities
3
Document Processing
3
Code Coverage
3
Distributed Transactions
3
Native
3
Search
3
Version Managers
3
Build
3
Date and Time
3
Podcasts and Screencasts
3
Processes
3
IDE
2
Game Development
2
Hypermedia Types
2
Cluster Management
1
Constraint Satisfaction Problem Solver
1
Caching
1
GUI
1
Compiler-compiler
1
Frontends
1
Keywords
java
141
android
13
static-analysis
10
spring-boot
10
monitoring
10
microservices
9
jvm
8
http
7
testing
7
java-library
7
json
7
spring
7
rpc
7
awesome
7
kotlin
6
javafx
6
jdbc
6
static-code-analysis
6
grpc
5
reactive-streams
5
machine-learning
5
awesome-list
5
scala
5
javascript
5
xml
5
reactive
4
testing-tools
4
annotation-processor
4
scheduler
4
code-analysis
4
database
4
serialization
4
framework
4
jackson
4
library
4
python
4
java-8
4
functional-programming
4
http-client
4
nlp
4
c
4
test-automation
3
code-generator
3
performance
3
configuration
3
junit
3
c-plus-plus
3
concurrency
3
circuit-breaker
3
visualization
3