年末将至,值得你关注的16个Java 开源项目!

Star 的数量统计于 2019-12-29。

1.JavaGuide

Guide 哥大三开始维护的,目前算是纯 Java 类型项目中 Star 数量最多的项目了。但是,本仓库的价值远远(+N次 )比不上像 Spring Boot、Elasticsearch 等等这样非常非常非常优秀的项目。希望以后我也有能力为这些项目贡献一些有价值的代码。

2.java-design-patterns

感觉还不错。根据官网介绍:

设计模式是程序员在设计应用程序或系统时可以用来解决常见问题的最佳形式化实践。 设计模式可以通过提供经过测试的,经过验证的开发范例来加快开发过程。 重用设计模式有助于防止引起重大问题的细微问题,并且还可以提高熟悉模式的编码人员和架构师的代码可读性。

java-design-patterns-website

3.elasticsearch

搜索引擎界的扛把子,但不仅仅是搜素引擎那么简单。

4.spring-boot

必须好好学啊,一定要好好学!现在 Java 后端新项目有不用 Spring Boot 开发的有吗?如果有的话,请把这个人的联系方式告诉我,我有很多话想给他交流交流!

  • Github地址https://github.com/spring-projects/spring-boot
  • star: 34.8k (1,073 stars this month)
  • 介绍: 虽然Spring的组件代码是轻量级的,但它的配置却是重量级的(需要大量XML配置),不过Spring Boot 让这一切成为了过去。 另外Spring Cloud也是基于Spring Boot构建的,我个人非常有必要学习一下。

5.RxJava

这个没怎么用过,不做太多评价。

6.advanced-java

本项目大部分内容来自中华石杉的一个课程,内容涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识,非常不错了!

  • Github 地址https://github.com/doocs/advanced-java
  • Star: 36.7k
  • 介绍: 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务等领域知识,后端同学必看,前端同学也可学习。

7.mall

很牛逼的实战项目,还附有详细的文档,作为毕设或者练手项目都再好不过了。

  • Github地址https://github.com/macrozheng/mall
  • star: 27.6k
  • 介绍: mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

8.okhttp

给我感觉是安卓项目中用的居多。当然,Java 后端项目也会经常用,但是一般使用 Spring Boot 进行开发的时候,如果需要远程调用的话建议使用 Spring 封装的 RestTemplate

9.guava

很厉害很厉害!提供了很多非常实用的工具类、更加实用的集合类、一些常用的数据结构比如布隆过滤器、缓存等等。

  • Github地址https://github.com/google/guava
  • star: 35.3k
  • 介绍: Guava是一组核心库,其中包括新的集合类型(例如 multimap 和 multiset),不可变集合,图形库以及用于并发,I / O,哈希,基元,字符串等的实用程序!

10.Spark

我木有用过,留下了没有技术的眼泪。

  • Github地址https://github.com/apache/spark
  • star: 24.7k
  • 介绍: Spark 是一个快速、通用的大规模数据处理引擎,和Hadoop的MapReduce计算框架类似,但是相对于MapReduce,Spark凭借其可伸缩、基于内存计算等特点,以及可以直接读写Hadoop上任何格式数据的优势,进行批处理时更加高效,并有更低的延迟。

11.arthas

虽然我自己没有亲身用过,但是身边用过的朋友评价都还挺好的。根据官网介绍,这家伙可以解决下面这些让人脑壳疼的问题:

  1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  2. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  3. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  4. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  5. 是否有一个全局视角来查看系统的运行状况?
  6. 有什么办法可以监控到JVM的实时运行状态?
  7. 怎么快速定位应用的热点,生成火焰图?

  8. Github 地址https://github.com/alibaba/arthas

  9. star: 18.8 k
  10. 介绍: Arthas 是 Alibaba 开源的 Java 诊断工具。

12.spring-boot-examples

学习 Spring Boot 必备!配合上我的 springboot-guidehttps://github.com/Snailclimb/springboot-guide,效果杠杠滴!

13.lombok

使用 Lombok 我们可以简化我们的 Java 代码,比如使用它之后我们通过注释就可以实现 getter/setter、equals等方法。

14.p3c

与我而言,没有特别惊艳,但是一些提供的一些代码规范确实挺有用的!

15.spring-boot-demo

16. awesome-java

Guide 哥半个多月前开始维护的,虽然现在 Star 数量比较少,我相信后面一定会有更多人喜欢上这个项目,我也会继续认真维护下去。