年末將至,Java 開發者必須了解的 16 個Java 頂級開源項目!


年末將至,值得你關注的16個Java 開源項目!

本文已經收錄自筆者開源的 JavaGuide: https://github.com/Snailclimb/JavaGuide (【Java學習+面試指南】 一份涵蓋大部分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. 怎么快速定位應用的熱點,生成火焰圖?

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 數量比較少,我相信后面一定會有更多人喜歡上這個項目,我也會繼續認真維護下去。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM