fucking-awesome-java
A curated list of awesome frameworks, libraries and software for the Java programming language. With repository stars⭐ and forks🍴
https://github.com/correia-jpv/fucking-awesome-java
Last synced: 16 days ago
JSON representation
-
Projects
-
Science
- JFreeChart - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)
-
Search
- Indexer4j - Simple and light full text indexing and searching library.
-
Security
- Ayza - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.
- DependencyCheck - Detects publicly disclosed vulnerabilities contained within a project's dependencies.
- 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.
- jwt-java - Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.
- 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.
- OpenAM - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.
- OTP-Java - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).
- pac4j - Security engine.
- Password4j - User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.
- SecurityBuilder - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.
- Themis - Multi-platform high-level cryptographic library provides easy-to-use encryption for protecting sensitive data: secure messaging with forward secrecy, secure data storage (AES256GCM); suits for building end-to-end encrypted applications.
- Tink - Provides a simple and misuse-proof API for common cryptographic tasks.
- Certificate Ripper - CLI tool and library for extracting and exporting server certificates from HTTPS endpoints.
-
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.
- Fury - Blazing fast object graph serialization framework powered by JIT and zero-copy.
-
Server
- nanohttpd - Tiny, easily embeddable HTTP server.
-
Template Engine
- Jade4J - Implementation of Pug (formerly known as Jade).
- Jamal - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.
- jstachio - Typesafe Mustache templating engine.
- jte - Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.
- Jtwig - Modular, configurable and fully tested template engine.
- Rocker - Optimized, memory efficient and speedy template engine producing statically typed, plain objects.
- StringTemplate - Template engine for generating source code, web pages, emails, or any other formatted text output.
-
Testing
- Awaitility - DSL for synchronizing asynchronous operations.
- 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 combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.
- REST Assured - DSL for easy testing of REST/HTTP services.
- WebTau - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.
- Cucumber - Provides a way to describe features in a plain language which customers can understand.
- Cukes-REST - Collection of Gherkin steps for REST-service testing using Cucumber.
- 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.
- 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.
- AutoParams - Supports generating test data or combining scenarios for parameterized tests.
- Beanmother - Sets up beans from YAML fixtures.
- Datafaker - Modern fake data generator forked from Java Faker.
- Fixture Factory - Generates fake objects from a template.
- jFairy - Fake data generator.
- Instancio - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.
- Randomized Testing - JUnit test runner and plugins for running JUnit tests with pseudo-randomness.
- Java Faker - Port of Ruby's fake data generator.
- Mockneat - Another fake data generator.
- JMock - JMock is a high-performance data generation and simulation component library implemented in Java.
- cdi-test - JUnit extension for easy and efficient testing of CDI components.
- weld-testing - Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.
- selenium - Browser automation framework and ecosystem.
- JsonUnit - Library that simplifies JSON comparison in tests.
- XMLUnit - Simplifies testing for XML output.
- ConsoleCaptor - Captures console output for unit testing purposes.
- junit-dataprovider - TestNG-like data provider/runner for JUnit.
- LogCaptor - Captures log entries for unit testing purposes.
- log-capture - Captures log entries and provides assertions for unit and integration testing.
- Mutability Detector - Reports whether instances of a given class are immutable.
- raml-tester - Tests if a request/response matches a given RAML definition.
- Selfie - Snapshot testing (inline and on disk).
- Stebz - Multi-approach framework for test steps managing.
- 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.
- PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.
- EasyMock - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.
- Pact JVM - Consumer-driven contract testing.
- Kensa - Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code.
- skipper-java - Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes.
-
Utility
- Arthas - Allows to troubleshoot production issues for applications without modifying code or restarting servers.
- cactoos - Collection of object-oriented primitives.
- Chocotea - Generates postman collection, environment and integration tests from java code.
- 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.
- dregex - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.
- Embulk - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.
- 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)
- Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.
- Javadoc Publisher - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.
- JavaVerbalExpressions - Library that helps with constructing difficult regular expressions.
- JKScope - Java scope functions inspired by Kotlin.
- minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server.
- Semver4j - Lightweight library that helps you handling semantic versioning with different modes.
- Underscore-java - Port of Underscore.js functions.
- bucket4j - Rate limiting library based on token-bucket algorithm.
- java-util - Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal.
- Jctx - Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase.
- java-refined - Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections.
- Sift - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention.
-
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
- Blade - Lightweight, modular framework that aims to be elegant and simple.
- 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.
- WebForms Core - A technology for managing HTML tags from the server.
- Erupt - Annotation-Driven Low-Code & JPA Visualization
- tinystruct - Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support.
-
Workflow Orchestration Engines
- flowable - Compact and efficient workflow and business process management platform.
-
-
Resources
-
Podcasts and Screencasts
- The Java Posse - Discontinued as of 02/2015.
-
Related Awesome Lists
-
-
Source
-
Websites
-
Programming Languages
Categories
Sub Categories
Testing
43
Miscellaneous
35
Database
25
Monitoring
21
Utility
21
Security
18
JSON
15
Code Generators
14
Related Awesome Lists
13
Science
12
Configuration
12
Networking
11
Code Analysis
11
Messaging
10
Distributed Applications
9
REST Frameworks
9
Distribution
9
Functional Programming
8
Machine Learning
8
Imagery
8
CLI
8
Data Structures
8
Microservice
8
Bytecode Manipulation
8
Web Frameworks
7
Template Engine
7
ORM
7
Bean Mapping
7
Performance analysis
7
PDF
7
HTTP Clients
7
Job Scheduling
7
Geospatial
6
Serialization
6
Development
6
Financial
6
Logging
6
High Performance
6
Introspection
5
Date and Time
5
JVM and JDK
5
Dependency Injection
5
Native
5
Artificial Intelligence
4
Code Coverage
4
CSV
4
Hypermedia Types
4
Web Crawling
4
Formal Verification
3
Document Processing
3
Natural Language Processing
3
Version Managers
3
PaaS
3
Game Development
3
Reactive libraries
3
Processes
3
Architecture
2
Build
2
GUI
2
Cloud
2
Platform
2
Compiler-compiler
1
Workflow Orchestration Engines
1
Pathfinding
1
Server
1
Constraint Satisfaction Problem Solver
1
Caching
1
Decentralization
1
Distributed Transactions
1
IDE
1
Podcasts and Screencasts
1
Search
1
Computer Vision
1
Websites
1
Keywords
java
215
spring-boot
17
kotlin
17
testing
16
spring
14
microservices
13
static-analysis
12
android
12
monitoring
12
database
10
java-library
10
awesome
10
http
10
jvm
10
json
9
rest-api
8
rest
8
xml
7
machine-learning
7
sql
7
javascript
7
awesome-list
7
annotation-processor
7
static-code-analysis
6
maven-plugin
6
logging
6
jdbc
6
rpc
6
java-8
6
java8
6
python
6
configuration
6
junit
6
metrics
6
high-performance
6
library
6
orm
6
cloud-native
6
api
6
functional-programming
5
gradle
5
testing-tools
5
generator
5
javafx
5
test-automation
5
framework
5
scheduler
5
code-analysis
5
grpc
5
serialization
5