完整资源地址:http://www.21doc.net/java/awesomejava

对象映射

简化对象映射的框架。

  • Dozer - 使用注释,API或XML配置将数据从一个对象复制到另一个对象的映射器。
  • JMapper - 使用字节码操作进行闪电快速映射。 支持注释,API或XML配置。
  • MapStruct - 代码生成器,它简化了不同bean类型之间的映射,基于配置方法的约定。
  • ModelMapper - ModelMapper是一个智能对象映射库,可自动映射对象。
  • Orika - Orika是一个Java Bean映射框架,它将数据从一个对象递归到另一个对象.
  • Selma - 基于注释处理器的bean映射器。

构建工具

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

  • Apache Maven - 声明式构建和依赖关系管理,它们更倾向于约定而不是配置。它可能比Apache Ant更好,后者使用一种相当程序化的方法,并且可能难以维护。
  • Bazel - 来自谷歌的快速而可靠地构建代码的工具。
  • Buck - 鼓励创建由代码和资源组成的小型可重用模块。
  • Gradle - 通过Groovy编写增量构建,而不是声明XML。与Maven的依赖管理很好地合作。

字节码操作

字节码操纵框架。

  • ASM - 通用、低级字节码操作和分析。
  • Byte Buddy - 使用一个流畅的API进一步简化字节码生成。
  • bytecode-viewer - Java 8 Jar & Android APK逆向工程套件。
  • Byteman - 通过DSL(规则)在运行时操作字节码;主要用于测试/故障排除。
  • cglib - 字节码生成库。
  • Javassist - 尝试简化字节码编辑。

缓存

提供缓存功能的库。

  • Caffeine - 高性能的缓存库。
  • Ehcache - 分布式通用缓存。
  • Infinispan - 高并发的键/值缓存库。

分布式管理

动态集群管理框架。

  • Apache Aurora - 用于长期运行服务和定时任务的Mesos框架。
  • Apache Mesos - 使CPU、内存、存储和其他计算资源独立于计算机。
  • Singularity - 支持web服务、后台工作、计划作业和一次性任务,简化部署和操作的Mesos框架。

代码质量分析

提供度量和质量测量的工具。

  • Checkstyle - 静态分析代码规范和标准。
  • Error Prone - 捕捉编译时常见错误。
  • Infer - 验证代码正确性的现代静态分析工具。
  • jQAssistant - 基于neo4j查询语言进行静态代码分析。
  • NullAway - 使用低构建时间开销消除空指针错误。
  • PMD - 通过源码分析查找编码错误实践。
  • SonarJava -SonarQube 和 SonarLint的静态分析工具。
  • Sourcetrail ![c] - 用于SonarQube和SonarLint的静态分析工具。
  • Spoon - 用于分析和转换Java源代码的库。
  • Spotbugs - 静态分析字节码以发现潜在的bug。

代码覆盖率

支持测试套件的代码覆盖测试集合的框架和工具。

  • Clover ![c] - 通过源代码检测取代字节码检测。
  • Cobertura - 通过离线(或静态)字节码检测和类加载来收集代码覆盖率。
  • JaCoCo - 使用脱机和运行时字节码工具,支持代码覆盖度量的集合框架。

代码生成器

为减少多余或错误重复代码的生成工具。

  • ADT4J - 用于代数数据类型的JSR-269代码生成器。
  • Auto - 生成工厂、服务和值类。
  • FreeBuilder - 自动生成构建器模式。
  • Immutables - 通过注解生成简单、安全且一致的对象。
  • JavaPoet - 通过API生成源文件。
  • JHipster - 生成Spring Boot和AngularJS的Yeoman源代码生成器。
  • Joda-Beans - 可以添加Java查询属性、增强类功能的小框架。
  • Lombok - 减少冗余代码的生成器。

命令行参数解析器

使解析命令行选项、参数等更容易的库。

  • Airline - 用于解析类git的命令行参数的注释框架。
  • args4j - 用于解析命令行参数的微型库。
  • JCommander - 具有自定义类型和实现接口进行验证的命令行参数解析框架。
  • JOpt Simple - 基于流畅的API而不是注释,使用POSIX getopt()和GNU getopt_long()语法的简单解析器。
  • picocli - 提供ANSI颜色和风格的使用帮助,可以避免依赖作为源码使用,包含注释、POSIX/GNU/任何语法、子命令、选项和强类型位置标记。

编译器编译

帮助创建解析器、解释器或编译器的框架。

  • ANTLR - 用于自顶向下解析的复杂全功能框架。
  • JavaCC - 生成自顶向下解析器的解析器生成器。允许词法状态转换和扩展BNF规范。
  • JFlex - 一个词汇分析器生成器。

配置

提供外部配置的库。

  • centraldogma - 基于Git、ZooKeeper和HTTP/2的高可用版本控制的服务配置存储库。
  • cfg4j - 用Java编写的分布式应用程序的现代配置库。
  • config - JVM语言的配置库。
  • dotenv - Java的十二要素配置库。
  • ini4j - 提供处理Windows INI文件的API。
  • KAConf - Java和Kotlin的基于注释的配置系统。
  • owner - 减少常规的属性。

规则约束

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

  • Choco - 使用约束编程技术的现成约束满足问题解决程序。
  • JaCoP - 包含FlatZinc语言的接口,使它能够执行MiniZinc模型。
  • OptaPlanner - 优化业务计划和资源调度的解决方案。

CSV

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

  • jackson-dataformat-csv - 用于读写CSV的Jackson扩展。
  • opencsv - 简单的CSV解析器。
  • Super CSV - 强大的CSV解析器,支持Dozer、Joda-Time和Java 8。Powerful CSV parser with support for Dozer, Joda-Time and Java 8.
  • uniVocity-parsers - 最快速和功能最完整的解析器之一。还提供了TSV和固定宽度记录的解析器。 One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records.

数据库

简化所有数据库交互。

  • Apache Phoenix - HBase上的高性能关系数据库层,用于低延迟的应用程序。
  • Chronicle Map - 高效、内存(或持久化到磁盘)、堆外键值的存储库。
  • druid - 高性能、面向列的分布式数据存储。
  • eXist - 一个NoSQL文档数据库和应用平台。
  • FlexyPool - 为最常见的连接池解决方案提供指标和故障转移策略。
  • Flyway - 简单的数据库迁移工具。
  • H2 - 以内存存储功能闻名的小型SQL数据库。
  • HikariCP - 高性能JDBC连接池。
  • JDBI - 便捷的抽象JDBC。
  • Jedis - 带命令行工具的小型redis交互客户端。
  • Jest - 用于Elasticsearch REST API的客户端。
  • jetcd - etcd的客户端。
  • Jinq - 通过Java 8 Lambdas(基于JPA或jOOQ)的类型安全执行数据库查询的工具。
  • jOOQ - 基于SQL模式生成类型安全代码。
  • Liquibase - 与数据库无关的库,用于跟踪、管理和应用数据库模式更改。
  • MapDB - 嵌入式数据库引擎,提供备份在磁盘或堆外内存中的并发集合。
  • MariaDB4j - 用于MariaDB的启动程序,不需要安装或外部依赖。
  • OrientDB - 存储Hazelcast上的在可嵌入的分布式数据库。
  • Presto - 分布式大数据SQL查询引擎。
  • Querydsl - 类型安全统一的查询。
  • Realm - 直接在手机、平板电脑或可穿戴设备内部运行的移动数据库。
  • Redisson - Redis分布式集群工具。
  • requery - 轻松地映射或创建数据库,或从任何使用java的平台执行查询和更新。现代、轻量但功能强大的对象映射和SQL生成器。
  • Speedment - 利用Java 8的流API进行查询的数据库访问库。
  • sql2o - 瘦JDBC包装器,简化了数据库访问,并提供了结果集到pojo的简单映射。
  • Vibur DBCP - 具有高级性能监视功能的JDBC连接池库。
  • Xodus - 高并发、无模式且兼容acid的嵌入式数据库。

数据结构

高效和特定的数据结构。

  • Apache Avro - 具有动态类型、无标记数据和省略分配id的数据交换格式。
  • Apache Orc - 基于hadoop的快速高效列存储格式。
  • Apache Parquet - 源于谷歌在Dremel上的论文实现的汇编算法列存储格式。
  • Apache Thrift - 源于facebook的数据交换格式。
  • Big Queue - 基于内存映射文件的大型、快速和持久队列。
  • Persistent Collection - Java集合框架的持久的、不可变的类似物。
  • Protobuf - 谷歌的数据交换格式。
  • SBE - 最快的消息格式之一“简单的二进制编码”。
  • Tape - 一种快速的、事务性的、基于文件的FIFO。
  • Wire - 干净、轻量级协议缓冲区。

时间和日期

与处理日期和时间相关的库。

  • Almanac Converter - 不同日历系统之间的简单转换。
  • iCal4j - 解析和构建iCalendar
  • RFC 5545 - 数据模型
  • ThreeTen-Extra - 补充JDK 8中的额外的日期时间类。
  • Time4J - 高级日期和时间库。

依赖注入

帮助实现[控制反转]的库(https://en.wikipedia.org/wiki/Inversion_of_control)范例。

  • Apache DeltaSpike - CDI扩展框架。
  • Dagger2 - 不需要反射的编译时注入框架。
  • Feather - 超轻量级、兼容jsr -330的依赖注入库。
  • Governator - 增强Google Guice的扩展和实用程序。
  • Guice - Google公司开发的轻量级IoC容器。
  • HK2 - 轻量级和动态依赖注入框架。

开发流程增强工具

增强开发过程

  • AspectJ - 无缝的面向方面编程扩展。
  • DCEVM - 允许在运行时无限地重新定义加载的类的JVM修改。
  • Faux Pas - 这个库通过避免Java运行时中默认情况下不允许任何函数接口抛出检查异常的问题来简化错误处理。
  • HotswapAgent - 在运行时定义类和资源没有限制的。
  • JavaParser - 解析、修改和生成Java代码。
  • JavaSymbolSolver - 一个Java的符号解算器。
  • JRebel ![c] - 允许开发者随时修改代码、资源而无需重启服务。
  • NoException - 可以控制异常,并把异常返回值。

分布式应用

用于编写分布式和容错应用程序的库和框架。

  • Apache Geode - 内存数据管理系统,提供可靠的异步事件通知和有保证的消息传递。
  • Apache Storm - 实时计算系统。
  • Apache ZooKeeper - 为大型分布式系统提供分布式配置、同步和命名注册表的协调服务。
  • Atomix - 容错分布式协调框架。
  • Axon Framework - 用于创建CQRS应用程序的框架。
  • Dropwizard Circuit Breaker - Dropwizard断路器设计模式。
  • Failsafe - 简单的故障处理与重试和断路器。
  • Hazelcast ![c] - 高度可扩展的数据分发和集群平台,可用于实现分布式数据存储、数据缓存。
  • Hystrix - 分布式系统的延迟和容错库。
  • JGroups - 用于可靠消息传递和集群创建的工具包。
  • Orbit - 可编写分布式和可扩展的应用程序,大大简化了集群、发现、网络、状态管理、actor生命周期管理等。
  • Quasar - JVM的轻量级线程和参与者。
  • resilience4j - 功能容错库。
  • ScaleCube - 基于SWIM和gossip协议的嵌入式集群成员库。
  • Zuul - 网关服务,提供动态路由、监视、弹性、安全等功能。

分布式事务

分布式事务提供了一种机制来确保在存在并发访问和部分故障的情况下数据更新的一致性。

  • Atomikos - 为REST、SOA和微服务提供事务,并支持JTA和XA。
  • Bitronix - JTA 1.1 API的一个简单、完整的实现。
  • Narayana - 支持传统的ACID和compensation事务,并符合JTA、JTS等标准。

打包发布

打包分发应用程序的工具。

  • Bintray ![c] - 用于处理发布的二进制文件的版本控制。兼容Maven或Gradle,提供免费的开源软件计划和多个商业计划。
  • Boxfuse - 使用不可变基础设施原则将JVM应用程序部署到AWS。
  • Capsule - 开源 JVM 应用部署和打包工具。
  • Central Repository - 最大的开源免费的二进制组件存储库。默认使用Apache Maven,在所有其他构建工具中也可用。
  • IzPack - 设置用于跨平台部署的发布工具。
  • JitPack - Maven/Gradle构建和发布项目,易于使用的GitHub包库。
  • Nexus ![c] - 代理和缓存功能的二进制管理。
  • packr - 为Windows、Linux和Mac OS X上的本机发行版打包jar、资产和JVM。
  • really-executable-jars-maven-plugin - 用于制作自执行jar的Maven插件。

文档处理工具

协助处理办公文档格式的库。

  • Apache POI - 支持OOXML (XLSX, DOCX, PPTX)和OLE2 (XLS, DOC或PPT)。
  • documents4j - 使用第三方转换器(如MS Word)进行文档格式转换的API。
  • docx4j - 创建和操作Microsoft Open XML文件。

格式验证

格式验证工具:校对助手,模型检查,语法执行等。

  • CATG - 使用正式方法自动生成单元测试的Concolic单元测试引擎。
  • Checker Framework - 包括空性类型、物理单元、不可变性类型等的可插拔式系统。
  • Daikon - 动态不变量检测工具,支持 Java C C++ Perl 等语言。
  • Java Path Finder (JPF) - 由美国国家航空航天局开发的包含模型检查器等的JVM正式验证工具。
  • JMLOK 2.0 - 通过反馈定向随机测试生成,检测代码和JML规范之间的不一致,并为检测到的每个不一致提出可能的原因。
  • KeY - 形式化软件开发工具,旨在尽可能无缝地集成面向对象软件的设计、实现、形式化规范和形式化验证。使用JML进行规范和符号执行以进行验证。
  • OpenJML - 将JML规范转换为SMT-LIB格式,并将程序隐含的证明问题传递给后端解决程序。

函数式编程

方便函数式编程的库。 Libraries that facilitate functional programming。

  • cyclops-react - 基于jdk8的高级并且易于使用的函数编程库
  • derive4j - Java 8注释处理器和框架,用于派生代数数据类型构造器、模式匹配和模式匹配。
  • Fugue - Guava的功能扩展。
  • Functional Java - 实现了许多有助于面向合成开发的基本和高级的编程。
  • jOOλ - 对Java 8的扩展,旨在通过提供大量缺失的类型和丰富的顺序流API添加来弥补lambda中的不足。
  • protonpack - 流实用程序的集合。
  • StreamEx - 增强Java 8流。
  • Vavr - 提供持久数据类型和功能控制结构的功能组件库。

游戏开发

支持游戏开发的框架。

  • FXGL - JavaFX游戏开发框架。
  • jMonkeyEngine - 现代3D开发的游戏引擎。
  • libGDX - 全方位跨平台、高层架构。
  • LWJGL - 抽象像OpenGL/CL/AL这样的库,健壮的框架。

地理空间

用于处理地理空间数据和算法的库。

  • Apache SIS - 用于开发地理空间应用程序的库。
  • Geo - Java中的GeoHash实用程序。
  • Geotoolkit.org - 构建在Apache SIS项目之上,用于开发地理空间应用程序的库。
  • GeoTools - 为地理空间数据提供工具的库。
  • GraphHopper - 用作Java库或独立web服务,Road-routing引擎。
  • H2GIS - H2数据库的空间扩展。
  • Jgeohash - 用于使用GeoHash算法的库。
  • Mapsforge - 基于OpenStreetMap数据的地图绘制。
  • Spatial4j - 通用的空间/地理空间库。

图形用户界面

用于创建现代图形用户界面的库。

  • JavaFX - Swing的继承者。.
  • Scene Builder - JavaFX应用程序的可视化布局工具。
  • SWT - 标准小部件工具包,一个图形小部件工具包。

高性能计算

从集合到特定库,所有的高性能计算。

  • Agrona - 高性能应用程序中常见的数据结构和实用方法。
  • Disruptor - Inter-thread消息传递库。
  • Eclipse Collections - 集合框架受到Smalltalk的启发。
  • fastutil - 快速和紧凑的特定于类型的集合。
  • HPPC - 原始的集合。
  • JCTools - JDK当前缺少并发工具。
  • Koloboke - 散列集和散列映射。

HTTP客户端

帮助创建HTTP请求或响应的库。

  • Async Http Client - 异步HTTP和WebSocket客户端库。
  • Feign - 受改进、JAXRS-2.0和WebSocket的启发,HTTP客户端绑定器。
  • OkHttp - HTTP+SPDY客户端
  • Play WS - 具有反应流和缓存的类型安全客户端。
  • restQL-core - 从多个服务获取信息的微服务查询语言。
  • Retrofit - 类型安全的Rest客户端。
  • Ribbon - 云服务测试客户端IPC库。
  • Riptide - Spring RestTemplate的客户端响应路由。

超媒体类型

处理超媒体类型序列化的库。

  • JSON-LD - JSON-LD实现。
  • Siren4J - Siren规范的库。

集成开发环境

试图简化开发的几个方面的集成开发环境。

  • Eclipse - 建立开源项目,支持大量插件和语言。
  • IntelliJ IDEA ![c] - 支持许多JVM语言,并为Android开发提供良好的选项。商业版以企业部门为目标。
  • NetBeans - 提供从数据库访问到HTML5的几个Java SE和EE特性的集成。
  • Visual Studio Code - 提供从数据库访问到HTML5的几个Java SE和EE特性的集成。通过使用内部市场的扩展,为轻量级项目提供Java支持,并提供简单的现代工作流。

图像处理

创建、评估或操作图形图像的库。

  • Imgscalr - 在纯Java 2D中实现的简单、高效和硬件加速的图像缩放库。
  • Tess4J - 一个用于Tesseract OCR API的JNA包装器。
  • Thumbnailator - 高质量的缩略图生成库。
  • TwelveMonkeys - 扩展支持的图像文件格式数量的插件集合。
  • ZXing - 支持多格式条形码/二维码图像处理库。

JSON

用于在Java对象之间序列化和反序列化JSON的库。

  • DSL-JSON - 高级编译时数据绑定的JSON库。
  • Genson - 功能强大且易于使用的Java-to-JSON转换库。
  • Gson - 高性能的对象序列化与反序列库
  • HikariJSON - 比Jackson快2倍的高性能JSON解析器。
  • jackson-modules-java8 - Java 8数据类型和特性的Jackson模块集。
  • Jackson-datatype-money - 开源的Jackson模块,支持JSON序列化和反序列化JavaMoney数据类型。
  • Jackson - 与GSON类似,在需要频繁地实例化库场景下,有更好性能。
  • JSON-io - Java JSON相互序列化工具
  • jsoniter - 具有迭代器和延迟解析API的快速灵活的库。
  • LoganSquare - 基于Jackson的流式API的JSON解析和序列化库,比GSON & Jackson的更优。
  • Moshi - 现代JSON库,使用像List和Map这样的内置类型。
  • Yasson - 类似于JAXB,类和JSON之间的绑定库。

JSON处理

用于处理JSON格式数据的库。

  • fastjson - 非常快的处理器,没有额外的依赖和完整的数据绑定。
  • Jolt - JSON到JSON转换工具。
  • JsonPath - 使用类xpath语法从JSON中提取数据。
  • JsonSurfer - 流式JsonPath处理器,用于处理大而复杂的JSON数据。

虚拟机与Java开发工具

JVM/JDK的当前实现。

  • Avian - 轻量级的 Java 虚拟机和类库,提供了 Java 特性的一个有用的子集,适合开发跨平台、自包容的应用程序。
  • Graal - 可以嵌入的多语言虚拟机。Polyglot virtual machine which can be embedded.
  • OpenJ9 - 高性能、企业级、灵活许可、开放管理的跨平台Java虚拟机扩展和扩展了Eclipse OMR和OpenJDK项目中的运行时技术组件。High performance, enterprise calibre, flexibly licensed, openly governed cross platform Java Virtual Machine extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project.
  • OpenJDK - Linux的开源实现。
  • ParparVM - 用Java安全简单和容易的方法来构建原生iOS应用。
  • Zulu OpenJDK 9 - 早期为Windows、Linux和Mac OS X的构建的OpenJDK 9。
  • Zulu OpenJDK - 为Windows、Linux和Mac OS X构建的OpenJDK 8。

日志

记录应用程序行为的库。

  • Apache Log4j 2 - 流行的 Java 日志组件
  • Graylog - 适合扩展角色和权限管理的开源聚合器。
  • Kibana - 分析和可视化日志文件,部分功能需要付费。
  • Logback - 通过Groovy提供有趣的配置选项的健壮日志库。
  • Logbook - 可扩展的、用于HTTP请求和响应日志记录的开源库。
  • Logstash - 日志文件管理工具。
  • SLF4J - 抽象层/简单的日志接口。
  • tinylog - 带有静态日志记录器类的轻量级日志框架。
  • Tracer - 分布式日志跟踪系统。

机器学习

提供从数据中学习的特定统计算法的工具。

  • Apache Flink - 快速、可靠、大规模的数据处理引擎。
  • Apache Mahout - 可扩展算法侧重于协同过滤、聚类和分类。
  • Apache Spark - 数据分析集群-计算框架。
  • DatumBox - 为自然语言处理提供几种算法和预先训练的模型。
  • DeepDive - 从非结构化数据创建结构化信息,并将其集成到现有数据库中。
  • Deeplearning4j - 分布式和多线程深度学习库。
  • H2O - 大数据统计分析引擎。
  • JSAT - 支持多线程执行的预处理、分类、回归和集群的算法。
  • Oryx 2 - 构建实时、大规模机器学习应用程序的框架。包含用于协作过滤、分类、回归和集群的端到端应用程序。
  • Smile - 统计机器智能和学习引擎提供了一套机器学习算法和可视化库。
  • Weka - 数据挖掘任务的算法集合,从预处理到可视化。

消息

帮助在客户机之间发送消息的工具。

  • Aeron - 高效、可靠、单播和多播消息传输。
  • Apache ActiveMQ - 实现JMS并将同步通信转换为异步通信的消息代理。
  • Apache Camel - 通过企业集成模式将不同的传输api粘合在一起。
  • Apache Kafka - 高吞吐量分布式消息传递系统。
  • Apache Pulsar - 分布式“发布/订阅”消息传递系统。
  • Apache RocketMQ - 一个快速、可靠和可扩展的分布式消息传递平台。
  • EventBus - 简单的发布/订阅事件总线。
  • Hermes - 在Kafka之上构建的快速可靠的消息中间件。
  • JeroMQ - ZeroMQ的实现。
  • Nakadi - 在Kafka之上提供一个RESTful API。
  • Smack - 跨平台XMPP客户端库。

杂项

一些别的类库

  • Codename One - 编写本地移动应用程序的跨平台解决方案。
  • CQEngine - 对Java集合进行超快的、类似sql的查询。
  • Design Patterns - 最常见的设计模式的实现和解释。
  • Failsafe - 简单的故障处理与重试和断路器。
  • FF4J - Java的特性标志。
  • FizzBuzz Enterprise Edition - 为商业目的而实现的严格实现。
  • J2ObjC - 将Android库移植到iOS的Java-to-Objective-C转换器。
  • JavaX - 以简单性为重点,重新设计和扩展Java。
  • JBake - 静态网站生成器。
  • JBot - 构建聊天机器人的框架。
  • Jimfs - 内存文件系统。
  • Joda-Money - 扩充JDK的基本货币、货币类和算法。
  • JPad - 代码片段。
  • Lanterna - 简单 console 文本 GUI 函数库。
  • LightAdmin - 用于快速应用程序开发,可插入的CRUD UI库。
  • Maven Wrapper - 类似于Maven的Gradle包装器,允许在不安装Maven的情况下构建项目。
  • Membrane Service Proxy - 用Java编写的开源、反向代理框架。
  • MinimalFTP - 轻量级、小型和可定制的FTP服务器。
  • Modern Java - A Guide to Java 8 - 流行的Java 8指南。
  • Modernizer - 检测遗留Java api的使用。
  • Multi-OS Engine - 一个开源的跨平台引擎,用来开发本地移动应用(iOS, Android等)。
  • OpenRefine - 数据清洗工具:清理、转换、并可通过web服务把数据保存到数据库。
  • Polyglot for Maven - Maven 3.3.1+的扩展,允许用非XML的方言编写POM模型。
  • Smooks - 处理 XML 与 non-XML 格式 ( 包括 CSV,EDI,Java) 之间的转换。
  • Togglz - 特性切换模式的实现。
  • TypeTools - 用于解析泛型类型的工具。
  • XMLBeam - 在代码中使用注释或XPath处理XML。
  • OctoLinker - ,允许更有效地在GitHub上浏览代码的浏览器扩展。

微服务

用于创建和管理微服务的工具。

  • Apollo - 用于编写可组合微服务的库。
  • consul-api - 一个分布式的、高可用的、数据感知的注册/发现服务的ConsulAPI客户端 。
  • Eureka - 基于rest的服务注册表,用于弹性负载平衡和故障转移。
  • Lagom - 创建基于微服务的系统的框架。
  • Micronaut - 关注模块化、最小的内存占用和启动时间的现代全栈框架。

监控

用于监视生产中的应用程序的工具。

  • AppDynamics ![c] - 性能监控器
  • Automon - 结合AOP的力量与监视和/或日志工具。
  • BugSnag ![c] - 通过集成几个第三方工具来进行异常和错误监视,以获得更好的工作流和免费的业余爱好者层。
  • LeakCanary - 内存泄漏检测。
  • Failsafe Actuator - 弹簧启动环境中故障安全断路器的开箱监控。
  • Glowroot - 开源Java APM。
  • inspectIT - 通过可以随时更改的钩子捕获详细的运行时信息,支持通过打开跟踪API在多个系统上进行跟踪,并且可以将数据与最终用户监视联系起来。
  • Instrumental ![c] - 实时Java性能监控应用程序,同时提供免费开发帐户的商业服务。
  • JavaMelody - 性能监视和分析。
  • jmxtrans - 通过JMX连接到多个jvm获取运行时虚拟机数据,基于json查询语言,并且支持多种输出。
  • Jolokia - 用来访问远程 JMX MBeans 的崭新方法,它使用基于 HTTP 的 JSON 格式作为通讯协议,提供 JMX 批量操作等。
  • 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 - 分布式跟踪系统,它收集用于解决微服务体系结构中的延迟问题所需的时间数据。

本地化

基于平台的本地库。

  • JavaCPP - 提供对本机c++的高效和容易的访问。
  • JNA - 使用本地库而不编写JNI。还提供对公共系统库的接口。
  • JNR - 与JNA的目标相同,但速度更快,未来Project Panama的基础库,使用本地库而不编写JNI,还提供对公共系统库的接口。

自然语言处理

专门处理文本的库。

  • CogCompNLP - 为纯文本输入提供通用注释器。 .
  • CoreNLP - 提供一组基本工具,用于标记、命名实体识别和情绪分析等任务。
  • DKPro - 语言预处理,机器学习,词汇资源等可重用的NLP工具的集合。
  • LingPipe - 用于从POS标记到情绪分析的任务的工具包。

网络编程

用于构建网络服务器的库。

  • Comsat - 包含Quasar fibers和actors等Java web相关api的集成工具。
  • 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 - 用于构建高性能网络应用程序的框架。Framework for building high-performance network applications.
  • Nifty - 在Netty上实现thrift客户端和服务器。
  • sshj - 可编程地使用SSH、SCP或SFTP。
  • Undertow - Web服务器提供基于NIO的阻塞和非阻塞api。在WildFly中用作网络层。
  • urnlib - 表示、解析和编码urn,如RFC 2141。

对象关系映射

处理对象持久性的api。

  • Apache Cayenne - 为数据访问提供一个干净的、静态的API。还包括用于处理数据库映射的GUI建模器,以及DB反向工程和生成。
  • Ebean - 提供简单和快速的数据访问。
  • EclipseLink - 支持许多持久性标准:JPA、JAXB、JCA和SDO。
  • Hibernate - Java开发中最为流行的数据库持久层框架。
  • MyBatis - 将对象与存储过程或SQL语句相结合。
  • SimpleFlatMapper - 简单的数据库和CSV映射器。

平台即服务

Java平台即服务。

  • AWS Elastic Beanstalk ![c] - 基于awc,支持Tomcat和Jetty。
  • AWS Lambda ![c] - Serverless计算。
  • Google App Engine ![c] - 谷歌的基础设施上的PaaS。
  • Heroku ![c] - 抽象的计算环境。
  • Jelastic ![c] - 支持Tomcat、Jetty、GlassFish、JBoss、TomEE和WildFly。
  • OpenShift Enterprise ![c] - On-premise解决办法。

PDF

PDF文件辅助工具。

  • Apache FOP - 从XSL-FO创建PDFs。
  • Apache PDFBox - 创建和操作pdf的工具箱。
  • Dynamic Jasper - JasperReports的抽象层。
  • DynamicReports - JasperReports简化版本。
  • flyingsaucer - XML/XHTML和CSS 2.1宣染程序。
  • iText ![c] - 以编程方式创建PDF文件。
  • JasperReports - 复杂的报表引擎。

性能分析

用于性能分析、分析和基准测试的工具。

  • fastThread ![c] - 免费的基于云上的可视化上传存储工具。
  • GCeasy ![c] - 提供免费的云端上传,可视化分析GC日志的工具。
  • honest-profiler - 一种低开销、无偏见的抽样分析器。
  • jHiccup - JVM日志和记录平台。
  • JITWatch - HotSpot JVM用来分析和优化JIT编译器。
  • JMH - microbenchmark(微基准测试)框架,为基准测试和运行测试提供很好的支持。
  • JProfiler ![c] - 通过JEE支持,为JDBC、JPA和NoSQL提供数据库分析。
  • LatencyUtils - 用于延迟测量和报告的实用程序。
  • XRebel ![c] - 带有内置浏览器,为web应用程序提供实时分析。
  • YourKit Java Profiler ![c] - 为所有运行于JVM上的任何应用程序提供分析器。

平台

包含多个类别库的集成框架。

Apache Commons

  • Pool - 通用对象池组件。
  • BCEL - 字节码工程库——分析、创建和操作Java类文件。
  • Codec - 一般的编码/解码算法(例如语音、base64、URL)。
  • Compress - 提供处理tar、zip和bzip2等压缩包文件的API。
  • IO - I/O实用程序的集合。
  • Configuration - 读取各种格式的配置/选项文件。
  • VFS - 把文件、FTP、SMB、ZIP等作为一个逻辑文件系统来处理的虚拟文件系统组件。
  • Jelly - 基于XML的脚本和处理引擎。
  • CSV - 用于读写逗号分隔值文件的组件。
  • JCS - Java缓存系统。
  • Email - Java发送电子邮件的库。
  • DbUtils - JDBC工具库。
  • FileUpload - servlet和web应用程序的文件上传功能。
  • Lang - 为java.lang中的类提供额外的功能。
  • Jexl - 扩展了JSTL的表达式语言。
  • CLI - 命令行参数解析器。
  • Validator - 在xml文件中定义验证器和验证规则的框架。
  • Net - 网络实用程序和协议实现的集合。
  • RNG - Commons Rng提供了伪随机数生成器的实现。
  • RDF - 在JVM上的RDF 1.1的通用实现。
  • Weaver - 提供一种简单的方法来增强(weave)编译的字节码。
  • BeanUtils - 利用反射机制对JavaBean的属性进行处理。
  • Collections - 扩展或增强Java集合框架。
  • DBCP - 数据库连接池服务。
  • Math - 轻量级、独立的数学和统计组件。
  • Exec - 用于在Java中处理外部进程执行和环境管理的API。
  • Logging 包装了各种日志API实现。
  • OGNL - 对象图导航语言。
  • JCI - Java编译器接口。
  • Daemon - 类unix-daemon java代码的替代调用机制。
  • Functor - 函数是一个可以作为对象操作的函数,或者表示单个通用函数的对象。
  • Digester - XML-to-Java-object映射工具。
  • BSF - 包括JSR-223,Bean脚本编制框架-脚本编制语言的接口。
  • Imaging - 一个纯java图像库。
  • SCXML - 状态图XML规范的一种实现,旨在创建和维护Java SCXML引擎。
  • JXPath - 使用XPath语法操作Java bean的实用程序。
  • Chain - 职责链模式实现。
  • Proxy - 用于创建动态代理的库。
  • BeanUtils2 - 重新设计的BeanUtils。
  • ClassScan - 在不加载的情况下查找类接口、方法、字段和注释。
  • CLI2 重新设计Commons CLI。
  • Convert - common - convert的目标是提供一个专用于将一种类型的对象转换为另一种类型的对象的单一库。
  • Finder - 受UNIX find命令启发而开发的Java库。
  • Flatfile - 用于处理平面数据结构的Java库。
  • Graph - 通用图形api和算法。
  • I18n - 添加一个或多个本地语言包特性。
  • Id - 用于生成唯一标识符的id组件。
  • Javaflow - 持续瓜捕获应用程序状态。
  • JNet - JNet允许通过java.net API动态注册url流处理程序。
  • Monitoring - 为Java应用程序提供一个简单并且可扩展的监听解决方案。
  • Nabla - Nabla提供了自动微分类,可以生成Java语言中实现的任何函数的导数。
  • OpenPGP - 使用OpenPGP对数据进行签名和验证的接口。
  • Performance - 为Commons DBCP和Pool实现的一个用于微基准测试客户端的小框架。
  • Pipeline - 提供围绕与顺序处理数据对象并行运行的工作队列设计的一组管道实用程序。

其它

  • CUBA Platform - 使用基于Spring、EclipseLink和Vaadin的富web界面开发企业应用程序的高级框架。
  • Light-Java - 构建于security的快速、轻量级和高效的微服务框架。
  • Orienteer - 用于CRM、ERP、LMS等应用的快速配置/开发的开源商业应用平台。
  • Spring - 为依赖注入、面向方面编程、安全性等提供许多包。

进程

帮助管理操作系统进程的库。

  • ch.vorburger.exec - 围绕Apache Commons Exec的便捷API。
  • zt-exec - 为Apache Commons Exec和ProcessBuilder提供统一的API。
  • zt-process-killer - 停止从Java或PID系统进程启动的进程。

响应式编程

用于开发响应式应用程序的库。

  • Akka - 用于构建并发、分布式、容错和事件驱动的应用程序的工具包和运行时。
  • Reactive Streams - 为具有非阻塞反压力的异步流处理提供标准。
  • Reactor - 用于构建响应性快速数据应用程序的库。
  • RxJava - 允许使用可观察序列组合异步和基于事件的程序。
  • vert.x - 多语言事件驱动的应用程序框架。

REST框架

专门用于创建RESTful服务的框架。

  • Dropwizard - 用Jetty、Jackson、Jersey和Metrics构建现代web应用程序的自主框架。
  • Jersey - jax - rs的参考实现。 JAX-RS reference implementation.
  • Microserver — 超过30个插件并且还在增长,支持微整体和微服务,便捷、可扩展的Spring & Spring Boot微服务插件系统。
  • Rapidoid - 由嵌入式HTTP服务器、GUI组件和依赖注入组成,简单、安全且极速的框架。
  • rest.li - 来自 Linkedin 的一款REST+JSON框架,使用动态发现和简单的异步API即可构建健壮可伸缩的服务架构体系。
  • RESTEasy - 经过完全认证和可移植的JAX-RS规范实现。
  • RestExpress - JBoss Netty HTTP栈上提供可伸缩和性能的瘦包装器。
  • Restlet Framework - 具有强大路由和过滤功能的开创性框架,以及统一的客户端和服务器API。
  • Spark - Sinatra激励框架。
  • Crnk - 实现JSON API规范,通过排序、过滤、分页、链接、对象图、类型安全、批量更新、集成等方式构建面向资源的REST端点。
  • Swagger - 标准的、与语言无关的REST api接口。

科学计算

用于科学计算、分析和可视化的库。

  • DataMelt - 用于科学计算、数据分析和数据可视化的环境。
  • Erdos - 用于理论算法的模块化、轻便、简单的图形框架。
  • GraphStream - 用于建模和分析动态图的库。
  • JGraphT - 图形库,提供数学图形理论对象和算法。
  • JGraphX - 用于可视化(主要是Swing)和与节点边缘图交互的库。
  • Mines Java Toolkit - 地球物理科学计算、可视化和数字信号分析图书馆。
  • Morpheus - 提供一种通用的二维高效存储表格数据结构,称为DataFrame,以支持在JVM上进行科学计算的高效内存分析。
  • Tablesaw - 包括数据框架、嵌入式列存储和数百种转换、汇总或过滤数据的方法。

搜索

用于搜索和分析的文档的索引引擎。

  • Apache Lucene - 高性能、全功能、跨平台、文本搜索引擎库。
  • Apache Solr - 企业搜索引擎优化为高流量。
  • Elasticsearch - 支持多租户的分布式全文搜索引擎,具有RESTful web界面和无模式JSON文档。

安全

处理安全性、身份验证、授权或会话管理的库。

  • Apache Shiro - 执行身份验证、授权、加密和会话管理。
  • Bouncy Castle - 从基本的助手到PGP/SMIME操作,为通用密码库和JCA提供广泛的功能。
  • Cryptomator - 基于云服务的多平台、透明的、客户端文件加密。
  • Hdiv - 实时应用,它能够抵御OWASP前10的应用程序安全风险,包括SQL注入、跨站点脚本、跨站点请求伪造、数据篡改和蛮力攻击。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 - 用于Java和Android的JSON web令牌。
  • Jwks RSA - JSON Web Key Set解析器。
  • Keycloak - 集成了SSO和IDM,用于浏览器应用程序和RESTful web服务。
  • Keyczar - 易于使用,安全的加密框架与密钥版本控制。
  • Keywhiz - 安全分发和管理系统。
  • Nbvcxz - 高级密码强度估计。
  • OACC - 提供基于许可的授权服务。
  • pac4j - 安全引擎。
  • PicketLink - 用于安全和身份管理的保护伞项目。
  • Themis - 多平台高级加密库为保护敏感数据提供了易于使用的加密方法:具有前向保密的安全消息传递、安全数据存储(AES256GCM);适用于构建端到端加密应用程序。
  • Tink - 为常见的加密任务提供一个简单的、防误用的API。
  • Vault - 保护、存储和严格控制对令牌、密码、证书、API密钥和其他机密的访问。它处理租赁、密钥撤销、密钥滚动和审计。通过统一的API,用户可以访问加密的密钥/值存储和网络加密即服务,或者生成AWS IAM/STS凭据、SQL/NoSQL数据库、X.509证书、SSH凭据等。

序列化

高效处理序列化的库。

  • FlatBuffers - 内存高效的序列化库,可以访问序列化数据,而无需解包和解析。
  • FST - 兼容jdk,高性能对象图序列化。
  • Kryo - 快速高效的对象图序列化框架。
  • MessagePack - 高效的二进制序列化格式。
  • PHP Serializer - 以PHP序列化格式序列化对象。

服务器

专门用于部署应用程序的服务器。

  • Apache Tomcat - 用于Servlet和JSP的健壮、全面的服务器。
  • Apache TomEE - Tomcat加上Java EE。
  • Jetty - 提供Web服务器和javax。servlet容器,以及对HTTP/2、WebSocket、OSGi、JMX、JNDI、JAAS和许多其他集成的支持。
  • nanohttpd - 小巧,易于嵌入的HTTP服务器。
  • WebSphere Liberty - 由IBM开发的轻量级模块化服务器。
  • WildFly - 以前称为JBoss,由Red Hat开发,具有广泛的Java EE支持。

模板引擎

在模板中替换表达式的工具。

  • Handlebars.java - 不包含逻辑和语义的模板。
  • Jade4J - Pug的实现(以前称为Jade)。
  • Jtwig - 模块化,可配置和充分测试的模板引擎。
  • Pebble - 受到Twig的启发,它通过继承特性和易于阅读的语法将自己分离开来。它内置了用于安全的自动转义,并包含了国际化的集成支持。
  • Thymeleaf - 旨在替代JSP并为XML文件工作。

测试

从模型到视图的测试工具。

异步

简化异步服务测试的工具。

  • Awaitility - 用于同步异步操作的DSL。
  • ConcurrentUnit - 测试多线程和异步应用程序的工具包。
  • GreenMail - 用于集成测试的内存电子邮件服务器。支持SMTP, POP3和IMAP,包括SSL。
  • Hoverfly Java - 本地绑定Hoverfly,允许您模拟HTTP服务的代理。
  • REST Assured - 易于测试REST/HTTP服务的DSL。

行为驱动开发

从TDD中产生的软件开发过程的测试,受到DDD和OOAD的严重影响。

  • Cucumber - 从TDD中产生的软件开发过程的测试,受到DDD和OOAD的严重影响,提供一种易于客户理解的简单语言描述特性的方法。
  • Cukes-REST - 使用Cucumber进行REST-service测试的Gherkin步骤集合。
  • J8Spec - 遵循类似Jasmine的语法。
  • JBehave - 描述故事的广泛可配置框架。
  • JGiven - 允许更简单的组合,提供一个流畅的API。
  • Lamdba Behave - 目的是提供一个流利的API,像阅读简单英语一样编写句子和描述性测试。

随机数据生成

所有与创建和处理随机数据相关的内容。

  • Beanmother - 设置来自YAML fixture的bean。
  • Fixture Factory - 从模板生成随机对象。
  • JFairy - 随机数据生成器。
  • Randomized Testing - JUnit测试运行器和用于运行具有伪随机性的JUnit测试的插件。

测试框架

为特定用例提供运行测试的环境。

  • ArchUnit - 用于指定和断言体系结构规则的测试库。
  • Apache JMeter - 功能测试和性能测量。
  • Arquillian - Java EE容器的集成和功能测试平台。
  • Citrus - 集中于客户端和服务器端消息传递的集成测试框架。
  • Gatling - 负载测试工具设计,易于使用,可维护性和高性能。
  • JUnit - 常见的测试框架。
  • Pact JVM - 消费者驱动的契约测试。
  • PIT - 用于评估现有JUnit或TestNG测试套件的故障检测能力的快速突变测试框架。

匹配器

提供自定义匹配器的库。

  • AssertJ - 流畅的断言,提高可读性。
  • JSONAssert - 简化了JSON字符串的测试。
  • Truth - 谷歌的断言和命题框架。

杂项

其他与测试相关的东西。

  • Mutability Detector - 报告类实例是否不可变。
  • raml-tester - 测试请求/响应是否匹配给定的RAML定义。
  • TestContainers - 提供通用数据库、Selenium web浏览器或任何可以在Docker容器中运行的其他实例。
  • pojo-tester - 自动执行基本POJO方法的测试。

模拟

模拟合作者帮助测试单个独立单元的工具。

  • JMockit - 集成测试、API模拟和伪装以及代码覆盖。
  • Mockito - mock框架,它允许使用简洁的API编写测试。
  • MockServer - 允许模拟与HTTPS集成的系统。
  • Moco - 用于存根和模拟的简洁web服务。
  • PowerMock - 模拟静态方法、构造函数、最终类和方法、私有方法和删除静态初始化器。
  • WireMock - 一个灵活的库用于 Web 服务测试,WireMock 创建一个实际的 HTTP服务器来运行你的 Web 服务以方便测试。

参数化

简化了参数化测试的编写。Simplifies the writing of parameterized tests.

  • Burst - 用于各种测试数据的单元测试库。A unit testing library for varying test data.
  • junit-dataprovider - 一个用于JUnit的类似于testng的数据提供程序/运行程序。 A TestNG-like data provider/runner for JUnit.
  • JUnitParams - 创建可读的和可维护的参数化测试。 Creates readable and maintainable parametrised tests.

通用工具库

提供通用实用函数的库。

  • cactoos - 面向对象原语的集合。
  • CRaSH - 基于 Java 发布提供与 JVM 进行交互的 SHELL 环境,可使用 Groovy 编写命令。
  • Dex - Java/JavaFX工具,支持强大的ETL和数据可视化。
  • Embulk - 批量数据加载器,帮助在各种数据库、存储、文件格式和云服务之间进行数据传输。
  • fswatch - 基于Java .nio.file. watchservice用于监视目录或单个文件的Java库。
  • Gephi - 可视化和操作大型图形网络的跨平台工具。
  • Guava - 集合、缓存、原语支持、并发库、公共注释、字符串处理、I/O等等。
  • JADE - 用于构建和调试多代理系统的框架和环境。
  • JavaVerbalExpressions - 有助于构造复杂正则表达式的库。
  • JGit - 一个实现Git版本控制系统的轻量级纯Java库。
  • minio-java - 提供简单的api来访问任何Amazon s3兼容的对象存储服务器。 Provides simple APIs to access any Amazon S3-compatible object storage server.
  • Protégé - 提供一个本体编辑器和一个框架来构建基于知识的系统。 Provides an ontology editor and a framework to build knowledge-based systems.
  • Underscore-java - 强调港。js函数。 Port of Underscore.js functions.

版本管理

帮助开发不同java版本之间切换的shell环境工具。

  • jabba - 受nvm启发的Java版本管理器。支持Mac OS X, Linux和Windows。
  • jenv - Java 多版本管理工具,它为安装,切换,删除和列出候选提供了一个方便的命令行界面。
  • SDKMan - 类Unix 系统中管理多个版本的开发环境的工具。提供命令行接口来安装、切换、删除、列出候选版本。

网络爬虫

抓取网站内容的库。

  • Apache Nutch - 用于生产环境的高度可扩展、高度可伸缩的web爬虫。
  • Crawler4j - 简单和轻量级web爬虫。
  • jsoup - HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。
  • StormCrawler - 用于构建低延迟和可伸缩web爬虫的SDK。
  • webmagic - 可伸缩的爬虫与下载,url管理,内容提取和持久。

Web框架

web应用程序开发框架。

  • Apache Tapestry - 面向组件的框架,用于创建动态的、健壮的、高度可伸缩的web应用程序。
  • Apache Wicket - 基于组件的web应用程序框架类似于Tapestry,带有有状态的GUI。
  • Blade - 轻量级的模块化框架,目标是优雅和简单。
  • Bootique - 用于构建无容器可运行Java应用的极简技术
  • Firefly - 异步框架,用于快速开发高性能web应用程序。
  • Grails - 是一套用于快速 Web 应用开发的开源框架,它基于 Groovy 编程语言。
  • Jooby - 可扩展、快速和模块化的微型框架,提供多种编程模型。
  • Ninja - 全栈的web框架。
  • Pippo - 小型,高度模块化,类似sinatra的框架。
  • Play - 轻量级的,无状态的,Web友好的架构。Play 建立在Akka,Play 提供可预测的和最小的资源消耗(CPU,内存,线程)的高度可扩展的应用程序。
  • PrimeFaces - 用于提高JSF Web应用程序开发效率的开源类库。
  • Ratpack - 基于Java和 Netty 事件驱动网络引擎,用于创建高性能Web应用的简单和能干的工具箱。
  • Takes - 灵活的web框架,建立在真正的面向对象编程和不可变性的概念之上。
  • Vaadin - 一个RIA的富客户端的Web框架,基于GWT的事件驱动框架。
  • JFinalJFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。
  • Nutz不只是Web框架(Mvc/Ioc/Aop/Dao/Json) for ALL Java developer

资源(国外社区网站)

Awesome Lists

与Java和JVM生态系统相关的实用列表。

  • Awesome Gradle Plugins
  • AwesomeJavaFX
  • Awesome JVM
  • Awesome Microservices
  • Awesome REST
  • Awesome Selenium
  • ciandcd
  • Useful Java Links

社区

活跃社区。

  • r/java - Java社区的版块。
  • stackoverflow - 问答平台。
  • VirtualJUG - 虚拟Java用户组。

前端

Websites that provide a frontend for this list. Please note, there won’t be an official website. We don’t associate with a particular website and everybody is allowed to create one.

  • java.libhunt.com

推荐书籍

值得阅读的有影响力的书箱。

  • Core Java Volume I–Fundamentals
  • Core Java, Volume II–Advanced Features
  • Effective Java (3rd Edition)
  • Java Concurrency in Practice
  • Thinking in Java

播客和视频

开发中可以看或听的学习资源。

  • Java Off Heap
  • Marco Behler’s Screencasts - Screencasts about modern Java development.
  • The Java Council
  • The Java Posse - Discontinued as of 02/2015.

Twitter

活跃的Twitter用户。

  • Adam Bien - Freelance author, JavaOne Rockstar speaker, consultant, Java Champion.
  • Aleksey Shipilëv - Performance geek, benchmarking czar, concurrency bug hunter.
  • Antonio Goncalves - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author.
  • Arun Gupta - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase.
  • 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 EE - Official Java EE Twitter account.
  • Java Magazine - Official Java Magazine account.
  • Java - Official Java Twitter 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.
  • Simon Maple - Java Champion, VirtualJUG founder, LJC leader, RebelLabs author.
  • 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.

网站

可以浏览的网站。

  • Google Java Style
  • InfoQ
  • Java Algorithms and Clients
  • Java, SQL, and jOOQ
  • Java.net
  • Javalobby
  • JavaWorld
  • JAXenter
  • RebelLabs
  • The Takipi Blog
  • TheServerSide.com
  • Vanilla Java
  • Voxxed

完整资源地址:http://www.21doc.net/java/awesomejava

必学Java类库/常用Java类库大全(awesome-java)相关推荐

  1. Java工程师常用Linux命令大全

    Java工程师常用Linux命令大全 查看目录下文件 ll 显示当前目录下文件详细信息. ll -a 显示当前目录下所有文件(包括隐藏文件) 查看当前目录 pwd 查看当前路径 查看进程 ps -a ...

  2. 必学PHP类库/常用PHP类库大全

    [JingwenTian]awesome-php [ziadoz]awesome-php 依赖管理( Dependency Management ) 用于依赖管理的包和框架 Composer / Pa ...

  3. 必学PHP类库/常用PHP类库大全,php 类库分类-收集

    依赖管理( Dependency Management ) 用于依赖管理的包和框架 Composer / Packagist - 一个包和依赖管理器. Composer Installers - 一个 ...

  4. java程序员必学_Java入门基础学习,成为一个Java程序员的必备知识

    引言 众所周知,Java是一种面向对象的编程语言.您可以在Windows操作系统上编写Java源代码,而在Linux操作系统上运行编译后的字节码,而无需修改源代码. 数据类型 Java 有 2 种数据 ...

  5. java contains_Java常用测试框架大全,不要只会Junit

    介绍 要做好测试驱动开发,意识习惯最重要,其次也得回编写优雅的单元测试.java测试框架很多,各种断言和注解,有点混乱,编写测试时老师搞不清该用哪个. 本文简单梳理java常用的几个测试工具:Juni ...

  6. 我的世界java版gamemode指令_《我的世界》Java版常用指令代码大全!你想要的都在这里了!...

    还在苦于网上找到的一些指令已经不适用了吗?还在苦于有些地方的指令有误吗?还在苦于有些地方整理的指令不够全面吗?那么你来对地方了!小编为大家整理了<我的世界>原版游戏常用的指令,这些基本足以 ...

  7. java SQL常用语句总结大全(超详细)

    数据库 数据库定义: **数据库:**存储数据的仓库. 其本质是一个文件系统,数据库按照特定的格式将数据存储到文件中,使用者可以对数据库中的数据进行增加,修改,删除及查询操作. 存储位置 优点 缺点 ...

  8. Linux 必学的 100+ 常用命令,你都会用吗?

    置顶/星标公众号????,硬核文章第一时间送达! 链接 | www.cnblogs.com/bananaaa/p/7774467.html linux 命令是对 Linux 系统进行管理的命令.对于 ...

  9. java实验系统常用类,Java的常用系统类

    Java的常用系统类Tag内容描述: 1.Java语言与JBuilder应用初步 第六章 常用的Java系统类,本章要点,字符串类 数值(Number)类及其子类 数组类 集合类 Object类,字符 ...

  10. Java的常用开发工具

    Java开发人员的常用工具 java常用的开发工具.都说工欲善其事必先利其器,要想学好java这门语言,选择一款好用顺手的开发工具是必不可少的.另外面试java工作时开发工具的使用也是一个重要的考核点 ...

最新文章

  1. Visual Studio 2010 Ultimate测试体系结构
  2. [转]linux 块设备驱动
  3. Mybatis的COMMENT生成备注
  4. goldengate使用ASM存放trail文件注意事项
  5. ubuntu下面制作ubuntu系统启动盘(转载+自己整理)
  6. 在Dictionary使用foreach的注意
  7. 一步步yum安装LNMP,脱坑笔记!!!
  8. 教你29招,让你在社交,职场上人人对你刮目相看
  9. springboot tomcat启动
  10. Mac常用开源软件与下载链接一览
  11. 在安卓上运行 TensorFlow:让深度学习进入移动端
  12. sigmoid画图_博弈画图软件(Window版和MAC版)
  13. Qt交互界面设计探索
  14. oracle 控制台使用手册,Oracle-ESS-入门手册
  15. hdfs 元数据维护机制
  16. 十年Android程序员图解:用图帮你了解https的原理
  17. python数据中元素可以改变的是_下列Python数据中其元素可以改变的是( )。 (2.0分)_学小易找答案...
  18. 保留两位小数的四舍五入
  19. 启动bat文件--系统找不到指定路径
  20. 十七道海量数据处理面试题与Bit-map详解

热门文章

  1. Arduino红外遥控无源蜂鸣器播放音乐
  2. Unity delegate
  3. 【Java Socket】TCP协议的多人聊天室
  4. java毫秒转换参数_SimpleDateFormat使用详解及与毫秒的相互转换
  5. expected_conditions类的方法与说明
  6. 【摘抄】许式伟的架构课软件工程篇:回顾与总结
  7. 位运算的应用----->实现加减乘除
  8. 财政政策与货币政策(下)
  9. 金山卫士开源软件之旅(一) VS 2005环境下编译
  10. Mac12.2下mysql各种蛋疼问题