Java-OpenSource-List
Java OpenSource List | Java 开源框架与工具索引
Dev Toolkits
IDE
- D8gerAutoCode : 🔥🔥🔥 🚀 重复编码老瞎忙,⚡️ 写来写去那几行, 🌱 不知工具在何方?🍻 八哥智能一键帮!
Static Analysis | 静态分析
-
CheckStyle : Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard.
-
Cobertura : Cobertura is a free Java tool that calculates the percentage of code accessed by tests.
-
FindBugs : A program which uses static analysis to look for bugs in Java code.
-
SourceMonitor : The freeware program SourceMonitor lets you see inside your software source code to find out how much code you have and to identify the relative complexity of your modules.
-
PMD : PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth.
-
Simian - Similarity Analyser : Simian (Similarity Analyser) identifies duplication in Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy source code and even plain text files. In fact, simian can be used on any human readable files such as ini files, deployment descriptors, you name it.
-
Recaf : The modern Java bytecode editor.
Test | 测试工具
-
REST Assured : Testing and validation of REST services in Java is harder than in dynamic languages such as Ruby and Groovy. REST Assured brings the simplicity of using these languages into the Java domain. languages into the Java domain.
-
Testcontainers : Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
Mock
- 2019-testable-mock : 无需初始化,不挑服务框架,甭管要换的是私有方法、静态方法、构造方法还是其他任何类的任何方法,也甭管要换的对象是怎么创建的。写好 Mock 定义,加个@MockMethod 注解,一切统统搞定。
Deployment | 部署
-
Capsule : Dead-Simple Packaging and Deployment for JVM Apps.
-
Launch4j : Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in lightweight Windows native executables.
-
Warp : Warp lets you create self-contained single binary applications making it simpler and more ergonomic to deliver your application to your customers.
-
2018-Amazon Corretto : Amazon Corretto is a no-cost, multi-platform, production-ready distribution of OpenJDK
-
2019-Jib : Jib builds optimized Docker and OCI images for your Java applications without a Docker daemon - and without deep mastery of Docker best-practices. It is available as plugins for Maven and Gradle and as a Java library.
Frameworks & Utils
-
Guava : Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, IO, hashing, primitives, reflection, string processing, and much more!
-
Twitter-commons : Twitter common libraries for python and the JVM.
Language Extension
-
Lombok : Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
-
2019-Manifold : Manifold plugs into Java to supplement it with game-changing features, from Type-safe Metaprogramming, Extension Methods, Operator Overloading, and Unit Expressions to an integrated Template Engine and a Preprocessor. All fully supported in IntelliJ IDEA. Simply add Manifold to your project and begin taking advantage of it.
-
2019-VAVR : VAVR (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.
DataStructure
Meta Programming
Reflection
- jOOR : Fluent Reflection in Java jOOR is a very simple fluent API that gives access to your Java Class structures in a more intuitive way.
Dependence Injection
- Guice : Guice (pronounced ‘juice’) is a lightweight dependency injection framework for Java 6 and above, brought to you by Google.
AST & Generator
-
Java Parser : Java Parser and Abstract Syntax Tree
-
JavaPoet : JavaPoet is a Java API for generating .java source files.
-
Java Hipster : Open Source application generator for creating Spring Boot + Angular/React projects in seconds!
Concurrent Programming
-
concurrency-limits : Java Library that implements and integrates concepts from TCP congestion control to auto-detect concurrency limits to achieve optimal throughput with optimal latency.
-
2022-DynamicTp : 🔥🔥🔥 轻量级动态线程池,内置监控告警功能,集成三方中间件线程池管理,基于主流配置中心(已支持 Nacos、Apollo,Zookeeper、Consul、Etcd,可通过 SPI 自定义实现)。Lightweight dynamic threadpool, with monitoring and alarming functions, base on popular config centers (already support Nacos、Apollo、Zookeeper、Consul, can be customized through SPI).
Others
- easyexcel : 快速、简单避免 OOM 的 java 处理 Excel 工具
Storage | 数据存储
JDBC
-
Commons DbUtils: JDBC Utility Component : The Commons DbUtils library is a small set of classes designed to make working with JDBC easier.
-
HikariCP : 光 HikariCP・A solid, high-performance, JDBC connection pool at last.
-
sql2o : sql2o is a small library, which makes it easy to convert the result of your sql-statements into objects. No resultset hacking required. Kind of like an orm, but without the sql-generation capabilities. Supports named parameters.
-
Speedment : Speedment is an open source Java Stream ORM toolkit and runtime. The toolkit analyzes the metadata of an existing SQL database and automatically creates a Java representation of the data model.
-
jOOQ : jOOQ generates Java code from your database and lets you build type safe SQL queries through its fluent API.
ORM
- 2019-sagacity-sqltoy : Java 真正智慧的 ORM 框架,支持 mysql、oracle、postgresql、sqlserver、db2、dm、h2、polardb、mongodb、elasticsearch、clickhouse、StarRocks、kudu、tidb、guassdb、kingbase、oceanbase、greenplum
Redis
-
Redisson : Redis Java client with features of In-Memory Data Grid. Supports over 30 objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, RPC.
-
Lettuce : Lettuce is a scalable thread-safe Redis client for synchronous, asynchronous and reactive usage. Multiple threads may share one connection if they avoid blocking and transactional operations such as BLPOP and MULTI/EXEC.
Cache
- caffeine : A high performance caching library for Java 8
JVM
- TeaVM : TeaVM is an ahead-of-time compiler for Java bytecode that emits JavaScript and WebAssembly that runs in a browser. Its close relative is the well-known GWT. The main difference is that TeaVM does not require source code, only compiled class files. Moreover, the source code is not required to be Java, so TeaVM successfully compiles Kotlin and Scala.
Agent
- 2022-one-java-agent : 提供插件化支持,统一管理众多的 Java Agent、插件支持 install/unstall,需要插件方实现接口、支持传统的 java agent,即已经开发好的 java agent。
Debug & Monitor Tools
-
GCViewer : Fork of tagtraum industries’ GCViewer. Tagtraum stopped development in 2008, I aim to improve support for Sun’s / Oracle’s java 1.6+ garbage collector logs (including G1 collector)
-
Memory Analyzer (MAT) : The Eclipse Memory Analyzer is a fast and feature-rich Java heap analyzer that helps you find memory leaks and reduce memory consumption.
-
MyPerf4J : Real-time Java method performance monitoring and statistical tool.
-
useful-scripts : 把平时有用的手动操作做成脚本,这样可以便捷的使用。
-
2018-vjtools : The vip.com’s java coding standard, libraries and tools
-
2018-jvm-profiler : JVM Profiler Sending Metrics to Kafka, Console Output or Custom Reporter.
-
2018-Arthas : Arthas 是 Alibaba 开源的 Java 诊断工具,深受开发者喜爱。
-
Jolokia: Remote JMX with JSON over HTTP.
-
2020-Bistoury : Bistoury 是去哪儿网的 java 应用生产问题诊断工具,提供了一站式的问题诊断方案。
-
2020-Cubic : 一站式问题定位平台,还在为线上问题而烦恼吗?分布式实例监控、线程栈监控、线程池监控、动态 arthas 命令集、依赖分析等等等,助你快速定位问题
AOP Dynamic Tracing
-
BTrace : A safe, dynamic tracing tool for the Java platform
-
JVM Sandbox : Real - time non-invasive AOP framework container based on JVM.
- 2018-jvm-sandbox-repeater : jvm-sandbox-repeater 是 JVM-Sandbox 生态体系下的重要模块,它具备了 JVM-Sandbox 的所有特点,插件式设计便于快速适配各种中间件,封装请求录制/回放基础协议,也提供了通用可扩展的各种丰富 API。
-
JIP,housemd,btrace,greys
-
2023-MoonBox : Moonbox(月光宝盒)是 JVM-Sandbox 生态下的,基于 jvm-sandbox-repeater 重新开发的一款流量回放平台产品。在 jvm-sandbox-repeater 基础上提供了更加丰富功能,同时便于线上部署和使用,更多对比参考。
APM
-
ja-netfilter : A javaagent lib for network filter.
-
2021-easeagent : A lightweight & opening Java Agent for Cloud-Native and APM system
-
2020-MyPerf4J : High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.
JIT
- 2018-Java Grinder : Compile Java bytecode to microcontroller assembly.