Java 资源大全

精选的Java框架,库和软件的精选列表。

内容

项目

Bean Mapping

Build

字节码操作

缓存

CLI

集群管理

代码分析

代码覆盖率

代码生成器

编译器编译器

配置

约束满足问题解决者

CSV

数据结构

数据库

日期和时间

依赖注入

开发

分布式应用程序

分布式事务

发行

文件处理

形式验证

功能编程

游戏开发

地理空间

GUI

高性能

HTTP客户端

超媒体类型

IDE

图像

JSON处理

JSON

JVM和JDK

记录

机器学习

消息传递

微服务

杂项

监控

原生

自然语言处理

网络

ORM

PaaS

PDF

性能分析

平台

Apache Commons

进程

反应库

REST框架

科学

搜索

安全

序列化

服务器

模板引擎

测试

异步

BDD

Fixtures

构架

Matchers

杂项

模拟

参数化

实用工具

版本管理员

网页抓取

Web框架

资源

令人敬畏的名单

项目

Bean Mapping

简化bean映射的框架。

Dozer - 使用注释和API或XML配置将数据从一个对象复制到另一个对象的映射器。

JMapper - 使用字节代码操作进行闪电般的快速映射。支持注释和API或XML配置。

MapStruct - 基于配置约定方法,简化不同bean类型之间映射的代码生成器。

ModelMapper - 智能对象映射库,可自动将对象相互映射。

Orika - JavaBean映射框架,用于递归地将数据以及其他功能从一个对象复制到另一个对象。

Selma - 基于注释处理器的bean映射器。

构建

处理应用程序的构建周期和依赖关系的工具。

Apache Maven - 声明性构建和依赖关系管理,有利于约定优于配置。它可能更适合Apache Ant,它使用相当程序化的方法并且难以维护。

Bazel - 来自Google的工具,可以快速可靠地构建代码。

Buck - 鼓励创建由代码和资源组成的小型可重用模块。

Gradle - 通过Groovy编程的增量构建,而不是声明XML。适用于Maven的依赖管理。

字节码操作

库以编程方式操作字节码。

ASM - 通用的低级字节码操作和分析。

Byte Buddy - 使用流畅的API进一步简化字节码生成。

bytecode-viewer - Java 8 Jar和Android APK逆向工程套件。

Byteman - 通过DSL在运行时处理字节码; 主要用于测试/故障排除。

cglib - 字节码生成库。

Javassist - 试图简化字节码编辑。

Mixin - 使用真实Java代码在运行时处理字节码。

缓存

提供缓存设施的库。

咖啡因 - 高性能,接近最佳的缓存库。

Ehcache - 分布式通用缓存。

Infinispan - 用于缓存的高度并发键/值数据存储。

CLI

与CLI相关的所有库。

ASCII表格 - 用ASCII绘制表格的库。

航空公司 - 基于注释的框架,用于解析类似Git的命令行参数。

args4j - 用于解析命令行参数的小型库。

Jansi - 用于格式化控制台输出的ANSI转义码。

Java ASCII Render - 控制台的图形基元。

JCommander - 命令行参数解析框架,包含自定义类型和通过实现接口验证。

JLine - 包括现代shell中的功能,如完成或历史记录。

JOpt Simple - 使用POSIX#getopt和GNU#getopt_long语法的流畅解析器。

picocli - 使用的ANSI颜色和样式有助于基于注释的POSIX / GNU /任何语法,子命令,强选键输入选项和位置参数。

Text-IO - 帮助创建完整的基于控制台的应用程序。

Lanterna - 简单的控制台文本GUI库,类似于curses。

集群管理

可以动态管理集群内部应用程序的框架。

Apache Aurora - 用于长期运行服务和cron作业的Mesos框架。

Apache Mesos - 从机器中提取CPU,内存,存储和其他计算资源。

Singularity - Mesos框架,使部署和操作变得简单。它支持Web服务,后台工作程序,预定作业和一次性任务。

代码分析

提供指标和质量测量的工具。

Checkstyle - 编码约定和标准的静态分析。

错误发生 - 将常见的编程错误作为编译时错误捕获。

推断 - 用于验证代码正确性的现代静态分析工具。

jQAssistant - 使用基于Neo4J的查询语言进行静态代码分析。

NullAway - 以低构建时开销消除NullPointerExceptions。

PMD - 用于查找错误编码实践的源代码分析。

SonarJava - SonarQube和SonarLint的静态分析器。

Sourcetrail!c - 可视源代码导航器。

Spoon - 用于分析和转换Java源代码的库。

Spotbugs - 字节码的静态分析,以发现潜在的错误。

代码覆盖率

框架和工具,支持测试套件的代码覆盖度量标准收集。

Clover!c - 依靠源代码检测而不是字节码检测。

Cobertura - 依靠离线或静态字节码检测和类加载来收集代码覆盖率指标。

JaCoCo - 使用离线和运行时字节码检测来收集代码覆盖率指标的框架。

代码生成器

为重复代码生成模式的工具,以减少冗长和错误倾向。

ADT4J - 用于代数数据类型的JSR-269代码生成器。

自动 - 生成工厂,服务和值类。

FreeBuilder - 自动生成Builder模式。

Immutables - 注释处理器,用于生成简单,安全且一致的值对象。

JavaPoet - 生成源文件的API。

JHipster - 用于Spring Boot和AngularJS的Yeoman源代码生成器。

Joda-Beans - 为Java添加可查询属性,增强JavaBeans的小框架。

Lombok - 旨在减少冗长的代码生成器。

编译器编译器

有助于创建解析器,解释器或编译器的框架。

ANTLR - 用于自上而下解析的复杂功能全面的框架。

JavaCC - 生成自上而下解析器的解析器生成器。允许词法状态切换并允许扩展BNF规范。

JFlex - 一个词法分析器生成器。

配置

提供外部配置的库。

centraldogma - 基于Git,ZooKeeper和HTTP / 2的高度可用的版本控制服务配置库。

cfg4j - 用Java编写的分布式应用程序的现代配置库。

config - JVM语言的配置库。

dotenv - 用于Java的十二因素配置库。

ini4j - 提供用于处理Windows'INI文件的API。

KAConf - 基于注释的Java和Kotlin配置系统。

所有者 - 减少属性的样板。

约束满足问题解决者

帮助实施优化和可满足性问题的库。

Choco - 使用约束编程技术的现成约束满足问题求解器。

JaCoP - 包含FlatZinc语言的界面,使其能够执行MiniZinc模型。

OptaPlanner - 业务规划和资源调度优化求解器。

CSV

简化读取/写入CSV数据的框架和库。

jackson-dataformat-csv - 用于读写CSV的Jackson扩展。

opencsv - 简单的CSV解析器。

Super CSV - 强大的CSV解析器,支持Dozer,Joda-Time和Java 8。

uniVocity-parsers - 速度最快,功能最全的解析器之一。还提供TSV和固定宽度记录的解析器。

数据库

简化与数据库交互的一切。

Apache Phoenix - 基于HBase的高性能关系数据库层,适用于低延迟应用。

Chronicle Map - 高效的内存选择持久化到磁盘,堆外键值存储。

druid - 高性能,面向列的分布式数据存储。

eXist - 一个NoSQL文档数据库和应用程序平台。

FlexyPool - 将指标和故障转移策略引入最常见的连接池解决方案。

Flyway - 简单的数据库迁移工具。

H2 - 以其内存功能着称的小型SQL数据库。

HikariCP - 高性能JDBC连接池。

jasync-sql - MySQL和PostgreSQL的异步数据库驱动程序。

JDBI - 方便的JDBC抽象。

Jedis - 用于与Redis交互的小客户端,以及命令方法。

Jest - Elasticsearch REST API的客户端。

jetcd - etcd的客户端库。

Jinq - 通过符号执行Java 8 Lambdas在JPA或jOOQ之上进行Typesafe数据库查询。

jOOQ - 基于SQL模式生成类型安全代码。

Liquibase - 用于跟踪,管理和应用数据库模式更改的独立于数据库的库。

MapDB - 嵌入式数据库引擎,提供磁盘或堆外内存支持的并发集合。

MariaDB4j - MariaDB的Launcher,不需要安装或外部依赖。

OrientDB - 在Hazelcast之上编写的可嵌入分布式数据库。

Presto - 用于大数据的分布式SQL查询引擎。

Querydsl - Typesafe统一查询。

Realm - 直接在手机,平板电脑或可穿戴设备内部运行的移动数据库。

Redisson - 允许在Redis服务器之上提供分布式和可扩展的数据结构。

requery - 一个现代,轻量级但功能强大的对象映射和SQL生成器。轻松映射或创建数据库,或从任何使用Java的平台执行查询和更新。

Speedment - 利用Java 8的Stream API进行查询的数据库访问库。

sql2o - 精简的JDBC包装器,简化了数据库访问,并提供了ResultSet到POJO的简单映射。

Vibur DBCP - 具有高级性能监控功能的JDBC连接池库。

Xodus - 高度并发的事务模式和符合ACID的嵌入式数据库。

你可能感兴趣的:(Java 资源大全)