高效和具体的数据结构。
Apache Avro - 具有动态类型,无标记数据和缺少手动分配ID的数据交换格式。
Apache Orc - 基于Hadoop的工作负载的快速高效的列式存储格式。
Apache Parquet - 基于Google关于Dremel的论文中的汇编算法的列式存储格式。
Apache Thrift - 源自Facebook的数据交换格式。
Big Queue - 基于内存映射文件的大型,快速且持久的队列。
持久收集 - Java Collections Framework的持久且不可变的模拟。
Protobuf - Google的数据交换格式。
SBE - 简单二进制编码,是最快的消息格式之一。
Tape - 一种快速,交易,基于文件的FIFO。
Wire - 干净,轻量级的协议缓冲区。
日期和时间
与处理日期和时间相关的库。
Almanac Converter - 不同日历系统之间的简单转换。
iCal4j - 解析并构建iCalendar RFC 5545数据模型。
ThreeTen-Extra - 补充JDK 8中的日期时间类。
Time4J - 高级日期和时间库。
依赖注入
有助于实现控制反转范例的库。
Apache DeltaSpike - CDI扩展框架。
Dagger2 - 没有反射的编译时注入框架。
羽毛 - 超轻量级,符合JSR-330标准的依赖注入库。
Governator - 增强Google Guice的扩展程序和实用程序。
Guice - 完善Dagger的轻量级和自以为是的框架。
HK2 - 轻量级和动态依赖注入框架。
开发
从根本上加强开发进程。
AspectJ - 面向方面的无缝编程扩展。
DCEVM - JVM修改,允许在运行时无限制地重新定义加载的类。
Faux Pas - 通过规避Java Runtime中的任何功能接口都不允许抛出已检查异常的问题来简化错误处理的库。
HotswapAgent - 无限的运行时类和资源重新定义。
JavaParser - 解析,修改和生成Java代码。
JavaSymbolSolver - Java的符号求解器。
JRebel!c - 即时重新加载代码和配置更改,无需重新部署。
NoException - 允许在功能接口中检查异常,并将异常转换为Optional return。
分布式应用程序
用于编写分布式和容错应用程序的库和框架。
Apache Geode - 内存数据管理系统,提供可靠的异步事件通知和有保证的消息传递。
Apache Storm - 实时计算系统。
Apache ZooKeeper - 具有大型分布式系统的分布式配置,同步和命名注册表的协调服务。
Atomix - 容错分布式协调框架。
Axon Framework - 用于创建CQRS应用程序的框架。
Dropwizard断路器 - Dropwizard的断路器设计模式。
Failsafe - 使用重试和断路器进行简单的故障处理。
Hazelcast!c - 具有免费开源版本的高度可扩展的内存数据网格。
Hystrix - 提供延迟和容错功能。
JGroups - 用于可靠消息传递和集群创建的工具包。
Orbit - 虚拟演员; 为传统演员增加了另一层次的抽象。
Quasar - JVM的轻量级线程和角色。
resilience4j - 功能容错库。
ScaleCube - 基于SWIM和八卦协议的嵌入式集群成员库。
Zuul - 提供动态路由,监控,弹性,安全性等的网关服务。
分布式事务
分布式事务提供了一种机制,可在出现并发访问和部分故障时确保数据更新的一致性。
Atomikos - 为REST,SOA和微服务提供事务,支持JTA和XA。
Bitronix - JTA 1.1 API的简单但完整的实现。
Narayana - 为传统的ACID和补偿交易提供支持,也符合JTA,JTS和其他标准。
应用发布
处理本机格式应用程序分发的工具。
Bintray!c - 处理发布的二进制文件的版本控制。与Maven或Gradle兼容,提供免费的开源软件计划以及多个商业计划。
Boxfuse - 使用不可变基础架构的原理将JVM应用程序部署到AWS。
Capsule - 简单而强大的打包和部署。类固醇的胖JAR,或支持JVM优化容器的“Docker for Java”。
Central Repository - 最大的二进制组件存储库,可作为开源社区的免费服务。默认情况下由Apache Maven使用,并且可在所有其他构建工具中使用。
IzPack - 用于跨平台部署的安装创作工具。
JitPack - GitHub易于使用的软件包存储库。按需构建Maven / Gradle项目并发布即用型软件包。
Nexus!c - 具有代理和缓存功能的二进制管理。
packr - 在Windows,Linux和Mac OS X上打包JAR,资产和JVM以进行本机分发。
really-executable-jars-maven-plugin - 用于制作自动执行JAR的Maven插件。
文档处理
协助处理办公文档格式的库。
Apache POI - XLSX,DOCX,PPTX 支持OOXML2XLS,DOC或PPT以及OLE。
documents4j - 如MS Word使用第三方转换器进行文档格式转换的API。
docx4j - 创建和操作Microsoft Open XML文件。
zerocell - 基于注释的API,用于将Excel工作表中的数据读入POJO,重点是减少开销。
Formal Verification
正式方法工具:证明助理,模型检查,符号执行等
CATG - Concolic单元测试引擎。使用正式方法自动生成单元测试。
Checker Framework - 可插拔类型系统。包括空值类型,物理单位,不变性类型等。
Daikon - 检测可能的程序不变量,并根据这些不变量生成JML规范。
JPF Java Path Finder - 包含模型检查器等的JVM形式验证工具。由美国宇航局创建。
JMLOK 2.0 - 通过反馈导向的随机测试生成检测代码和JML规范之间的不一致性,并建议检测到每个不合格的可能原因。
KeY - 正式的软件开发工具,旨在尽可能无缝地集成面向对象软件的设计,实现,形式规范和形式验证。使用JML进行规范和符号执行以进行验证。
OpenJML - 将JML规范转换为SMT-LIB格式,并将程序隐含的证明问题传递给后端求解器。
函数编程
便于函数式编程的库。
cyclops-react - Monad和流实用程序,理解,模式匹配,所有JDK集合的功能扩展,未来流,蹦床等等。
derive4j - Java 8注释处理器和框架,用于派生代数数据类型构造函数,模式匹配和态射。
Fugue - 番石榴的功能扩展。
Functional Java - 实现了许多基本和高级编程抽象,有助于面向组合的开发。
jOOλ - Java 8扩展,旨在通过提供众多缺失类型和一组丰富的顺序Stream API添加来修复lambda中的空白。
protonpack - 流实用程序的集合。
StreamEx - 增强Java 8 Streams。
Vavr - 提供持久数据类型和功能控制结构的功能组件库。
游戏开发
支持游戏开发的框架。
FXGL - JavaFX游戏开发框架。
jMonkeyEngine - 现代3D开发的游戏引擎。
libGDX - 全方位的跨平台,高级框架。
LWJGL - 强大的框架,抽象出像OpenGL / CL / AL这样的库。
Geospatial
用于处理地理空间数据和算法的库。
Apache SIS - 用于开发地理空间应用程序的库。
Geo - Java中的GeoHash实用程序。
Geotoolkit.org - 用于开发地理空间应用程序的库。建立在Apache SIS项目之上。
GeoTools - 为地理空间数据提供工具的库。
GraphHopper - 道路路由引擎。用作Java库或独立Web服务。
H2GIS - H2数据库的空间扩展。
Jgeohash - 使用GeoHash算法的库。
Mapsforge - 基于OpenStreetMap数据的地图渲染。
Spatial4j - 通用空间/地理空间库。
GUI
库创建现代图形用户界面。
JavaFX - Swing的继任者。
Scene Builder - JavaFX应用程序的可视化布局工具。
SWT - 标准窗口小部件工具包,图形窗口小部件工具包。
高性能
关于高性能计算的所有内容,从集合到特定库。
Agrona - 高性能应用程序中常见的数据结构和实用程序方法。
Disruptor - 线程间消息传递库。
Eclipse Collections - 受Smalltalk启发的集合框架。
fastutil - 快速和紧凑的特定类型集合。
HPPC - 原始集合。
JCTools - JDK目前缺少并发工具。
Koloboke - 哈希集和哈希映射。
HTTP客户端
协助创建HTTP请求和/或绑定响应的库。
Async Http Client - 异步HTTP和WebSocket客户端库。
Feign - 受Retrofit,JAXRS-2.0和WebSocket启发的HTTP客户端活页夹。
OkHttp - HTTP + SPDY客户端。
Play WS - 具有反应流和缓存的Typesafe客户端。
restQL-core - 从多个服务获取信息的微服务查询语言。
Retrofit - Typesafe REST客户端。
Ribbon - 在云端经过实战测试的客户端IPC库。
Riptide - Spring的RestTemplate的客户端响应路由。
超媒体类型
处理序列化到超媒体类型的库。
JSON-LD - JSON-LD实现。
Siren4J - Siren规范库。
IDE
集成开发环境,试图简化开发的几个方面。
Eclipse - 已建立的开源项目,支持大量插件和语言。
IntelliJ IDEA!c - 支持多种JVM语言,为Android开发提供了很好的选择。商业版针对企业部门。
NetBeans - 提供从数据库访问到HTML5的多个Java SE和EE功能的集成。
Visual Studio Code - 通过使用内部市场的扩展,为轻量级项目提供简单,现代的工作流程。
图形图像库
协助创建,评估或操纵图形图像的库。
Imgscalr - 在纯Java 2D中实现的简单,高效且硬件加速的图像缩放库。
Tess4J - Tesseract OCR API的JNA包装器。
Thumbnailator - 高质量的缩略图生成库。
TwelveMonkeys - 扩展支持的图像文件格式数量的插件集合。
ZXing - 多格式1D / 2D条码图像处理库。
JSON
用于将JSON序列化和反序列化为Java对象的库。
DSL-JSON - 具有高级编译时数据绑定的JSON库。
Genson - 功能强大且易于使用的Java-to-JSON转换库。
Gson - 将对象序列化为JSON,反之亦然。即时使用具有良好的性能。
HikariJSON - 高性能JSON解析器,比Jackson快2倍。
jackson-modules-java8 - 用于Java 8数据类型和功能的Jackson模块集。
Jackson-datatype-money - 支持JSON序列化和JavaMoney数据类型反序列化的开源Jackson模块。
Jackson - 与GSON类似,但如果需要更频繁地实例化库,则可以提高性能。
JSON-io - 将Java转换为JSON。将JSON转换为Java。漂亮的印刷JSON。Java JSON序列化程序。
jsoniter - 具有迭代器和延迟解析API的快速灵活的库。
LoganSquare - 基于Jackson的流API的JSON解析和序列化库。优于GSON&Jackson的库。
Moshi - 现代JSON库,不太自以为是,使用内置类型,如List和Map。
Yasson - 类和JSON文档之间的绑定层,类似于JAXB。
JSON处理
用于处理JSON格式数据的库。
fastjson - 非常快的处理器,没有额外的依赖关系和完整的数据绑定。
Jolt - JSON到JSON转换工具。
JsonPath - 使用类似XPATH的语法从JSON中提取数据。
JsonSurfer - 流媒体JsonPath处理器,专用于处理大而复杂的JSON数据。
JVM和JDK
JVM / JDK的当前实现。*
Avian - 具有JIT和AOT模式的JVM。包括iOS端口。
Graal - 可以嵌入的Polyglot虚拟机。
OpenJ9 - 高性能,企业级,灵活许可,开放式管理的跨平台Java虚拟机,可扩展和扩充Eclipse OMR和OpenJDK项目中的运行时技术组件。
OpenJDK - Linux的开源实现。
ParparVM - 适用于iOS的非阻塞并发GC的VM。
Zulu - 适用于Windows,Linux和Mac OS X的OpenJDK版本。
日志
记录应用程序行为的库。
Apache Log4j 2 - 使用强大的插件和配置架构完成重写。
Graylog - 适用于扩展角色和权限管理的开源聚合器。
Kibana - 分析和可视化日志文件。某些功能需要付款。
Logback - 通过Groovy提供有趣配置选项的强大日志库。
Logbook - 用于HTTP请求和响应记录的可扩展的开源库。
Logstash - 用于管理日志文件的工具。
SLF4J - 抽象层/简单的日志记录。
tinylog - 具有静态记录器类的轻量级日志框架。
Tracer - 在分布式系统中调用跟踪和日志关联。
机器学习
提供用于从数据中学习的特定统计算法的工具。
Apache Flink - 快速,可靠,大规模的数据处理引擎。
Apache Mahout - 可扩展的算法,专注于协同过滤,聚类和分类。
Apache Spark - 数据分析集群计算框架。
DatumBox - 为自然语言处理提供多种算法和预训练模型。
DeepDive - 从非结构化数据创建结构化信息并将其集成到现有数据库中。
Deeplearning4j - 分布式和多线程深度学习库。
H2O - 用于统计大数据的分析引擎。
JSAT - 支持多线程执行的预处理,分类,回归和聚类算法。
Oryx 2 - 用于构建实时,大规模机器学习应用程序的框架。包括用于协作过滤,分类,回归和群集的端到端应用程序。
微笑 - 统计机器智能和学习引擎提供了一组机器学习算法和可视化库。
Weka - 用于从预处理到可视化的数据挖掘任务的算法集合。
消息
有助于在客户端之间发送消息以确保协议独立性的工具。
Aeron - 高效,可靠,单播和多播消息传输。
Apache ActiveMQ - 实现JMS并将同步转换为异步通信的消息代理。
Apache Camel - 通过企业集成模式将不同的传输API粘合在一起。
Apache Kafka - 高吞吐量分布式消息传递系统。
Apache Pulsar - 分布式发布/子消息系统。
Apache RocketMQ - 一种快速,可靠,可扩展的分布式消息传递平台。
EventBus - 简单的发布/订阅事件总线。
爱马仕 - 建立在Kafka之上的快速可靠的消息代理。
JeroMQ - ZeroMQ的实现。
Nakadi - 在Kafka之上提供RESTful API。
Smack - 跨平台的XMPP客户端库。
杂项
其他一切。
Codename One - 用于编写本机移动应用程序的跨平台解决方案。
CQEngine - Java集合上的超快速,类似SQL的查询。
设计模式 - 最常见设计模式的实现和解释。
Failsafe - 使用重试和断路器进行简单的故障处理。
FF4J - Java的功能标志。
FizzBuzz企业版 - 由严肃的商人为严肃的商业目的制作的FizzBuzz的严肃实施。
J2ObjC - 用于将Android库移植到iOS的Java-to-Objective-C转换器。
JavaX - 重点介绍Java,重点是简单性。
JBake - 静态网站生成器。
JBot - 构建聊天机器人的框架。
Jimfs - 内存文件系统。
Joda-Money - JDK未提供的基本货币和金钱类和算法。
JPad - Snippet runner。
LightAdmin - 可插入的CRUD UI库,用于快速应用程序开发。
Maven Wrapper - Maven的Gradle Wrapper模拟,允许在不安装maven的情况下构建项目。
Membrane Service Proxy - 用Java编写的开源反向代理框架。
MinimalFTP - 轻量级,小型和可定制的FTP服务器。
现代Java - Java 8指南 - 流行的Java 8指南。
Modernizer - 检测旧版Java API的使用。
多操作系统引擎 - 开发原生移动设备iOS,Android等的开源跨平台引擎应用。
OpenRefine - 处理凌乱数据的工具:清理,转换,使用Web服务扩展它并将其链接到数据库。
Polyglot for Maven - Maven 3.3.1+的扩展,允许用XML以外的方言编写POM模型。
Smooks - 用于构建处理数据的应用程序的可扩展框架,这意味着绑定,转换,消息处理和丰富。
Togglz - 功能切换模式的实现。
TypeTools - 用于解析泛型类型的工具。
XMLBeam - 在代码中使用注释或XPath处理XML。
OctoLinker - 浏览器扩展,可以更有效地浏览GitHub上的代码。
微服务
用于创建和管理微服务的工具。
Apollo - 用于编写可组合微服务的库。
consul-api - ConsulAPI的客户端:分布式,高可用性和数据中心感知注册/发现服务。
Eureka - 基于REST的服务注册表,用于弹性负载平衡和故障转移。
Lagom - 用于创建基于微服务的系统的框架。
Micronaut - 现代全栈框架,专注于模块化,最小内存占用和启动时间。
监控
监控生产中应用程序的工具。
AppDynamics!c - 性能监视器。
Automon - 将AOP的强大功能与监控和/或记录工具相结合。
BugSnag!c - 异常和错误监控,集成了多个第三方工具,可实现更好的工作流程和免费的业余爱好者层。
LeakCanary - 内存泄漏检测。
故障安全执行器 - 在Spring-Boot环境中对故障安全断路器进行开箱即用的监控。
Glowroot - 开源Java APM。
inspectIT - 通过可以即时更改的挂钩捕获详细的运行时信息。它支持通过OpenTracing API跟踪多个系统,并可以将数据与最终用户监控相关联。
Instrumental!c - 实时Java应用程序性能监控。具有免费开发账户的商业服务。
JavaMelody - 性能监控和分析。
jmxtrans - 连接到多个JVM并通过JMX查询它们的属性。它的查询语言基于JSON,允许非Java程序员访问JVM属性。支持不同的输出写入,包括Graphite,Ganglia和StatsD。
Jolokia - JMX over REST。
Kamon - 用于监视在JVM上运行的应用程序的工具。
Metrics - 通过JMX或HTTP公开指标并将其发送到数据库。
New Relic!c - 性能监视器。
nudge4j - 通过字节码注入从Java 8浏览器远程开发人员控制台。
OverOps!c - 生产中错误监控和调试。
Pinpoint - 开源APM工具。
Prometheus - 提供多维数据模型,DSL,自治服务器节点等等。
SPM!c - 具有JVM应用程序分发事务跟踪的性能监视器。
Stagemonitor - JVM应用程序的开源性能监视和事务跟踪。
Sysmon - 适用于Java VM的轻量级平台监控工具。
zipkin - 分布式跟踪系统,用于收集解决微服务架构中延迟问题所需的时序数据。
Native
用于处理特定于平台的本机库。
JavaCPP - 提供对本机C ++的高效和轻松访问。
JNA - 在不编写JNI的情况下使用本机库。还提供了通用系统库的接口。
JNR - 在不编写JNI的情况下使用本机库。还提供了通用系统库的接口。与JNA目标相同,但更快,并作为即将到来的Project Panama的基础。
自然语言处理
专门处理文本的库。
CogCompNLP - 为纯文本输入提供通用注释器。
CoreNLP - 为标记,命名实体识别和情感分析等任务提供一组基本工具。
DKPro - 用于语言预处理,机器学习,词汇资源等的可重复使用的NLP工具的集合。
LingPipe - 用于从POS标记到情感分析的任务的工具包。
联网
用于构建网络服务器的库。
Comsat - 将标准的Java Web相关API与Quasar光纤和actor集成。
Dubbo - 高性能RPC框架。
Finagle - 用于构建高并发服务器的可扩展RPC系统。它为多个协议实现统一的客户端和服务器API,并且与协议无关,以简化新协议的实现。
Grizzly - NIO框架。用作Glassfish中的网络层。
gRPC - 基于protobuf和HTTP / 2的RPC框架。
KryoNet - 使用NIO和Kryo为高效的TCP和UDP客户端/服务器网络通信提供简洁的API。
MINA - 抽象的,事件驱动的异步I / O API,用于通过Java NIO进行TCP / IP和UDP / IP上的网络操作。
Netty - 构建高性能网络应用程序的框架。
Nifty - 在Netty上实现Thrift客户端和服务器。
sshj - 以编程方式使用SSH,SCP或SFTP。
TLS Channel - 类似套接字通过SSLEngine实现ByteChannel接口,实现易于使用的TLS。
Undertow - 基于NIO提供阻塞和非阻塞API的Web服务器。用作WildFly中的网络层。
urnlib - 表示,解析和编码URN,如RFC 2141中所述。
ORM
处理对象持久性的API。
Apache Cayenne - 为数据访问提供干净,静态的API。还包括用于处理数据库映射的GUI Modeler,以及DB逆向工程和生成。
Ebean - 提供简单快速的数据访问。
EclipseLink - 支持许多持久性标准:JPA,JAXB,JCA和SDO。
Hibernate - 健壮且广泛使用,拥有活跃的社区。
MyBatis - 使用存储过程或SQL语句耦合对象。
SimpleFlatMapper - 简单的数据库和CSV映射器。
PaaS