年底將至,值得你關注的16個Java 開源項目!
本文已經收錄自筆者開源的 JavaGuide: https://github.com/Snailclimb/JavaGuide (【Java學習+面試指南】 一份涵蓋大部分Java程序員所須要掌握的核心知識。)前端
Star 的數量統計於 2019-12-29。java
1.JavaGuide
Guide 哥大三開始維護的,目前算是純 Java 類型項目中 Star 數量最多的項目了。可是,本倉庫的價值遠遠(+N次 )比不上像 Spring Boot、Elasticsearch 等等這樣很是很是很是優秀的項目。但願之後我也有能力爲這些項目貢獻一些有價值的代碼。git
- Github 地址:https://github.com/Snailclimb/JavaGuide
- Star: 66.3k
- 介紹: 【Java 學習+面試指南】 一份涵蓋大部分 Java 程序員所須要掌握的核心知識。
2.java-design-patterns
感受還不錯。根據官網介紹:程序員
設計模式是程序員在設計應用程序或系統時能夠用來解決常見問題的最佳形式化實踐。 設計模式能夠經過提供通過測試的,通過驗證的開發範例來加快開發過程。 重用設計模式有助於防止引發重大問題的細微問題,而且還能夠提升熟悉模式的編碼人員和架構師的代碼可讀性。github
- Github 地址 : https://github.com/iluwatar/java-design-patterns
- Star: 53.8k
- 介紹: 用 Java 實現的設計模式。https://java-design-patterns.com。
3.elasticsearch
搜索引擎界的扛把子,但不只僅是搜素引擎那麼簡單。web
- Github 地址 : https://github.com/elastic/elasticsearch
- Star: 46.2k
- 介紹: 開源,分佈式,RESTful 搜索引擎。
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
這個沒怎麼用過,不作太多評價。spring
- Github 地址 : https://github.com/ReactiveX/RxJava
- Star: 41.5k
- 介紹:
RxJava
是一個 基於事件流、實現異步操做的庫。
6.advanced-java
本項目大部份內容來自中華石杉的一個課程,內容涵蓋高併發、分佈式、高可用、微服務、海量數據處理等領域知識,很是不錯了!apache
- 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
。
- Github地址:https://github.com/square/okhttp
- star: 35.4k
- 介紹: 適用於Android,Kotlin和Java的HTTP客戶端。https://square.github.io/okhttp/。
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
雖然我本身沒有親身用過,可是身邊用過的朋友評價都還挺好的。根據官網介紹,這傢伙能夠解決下面這些讓人腦袋疼的問題:
- 這個類從哪一個 jar 包加載的?爲何會報各類類相關的 Exception?
- 我改的代碼爲何沒有執行到?難道是我沒 commit?分支搞錯了?
- 遇到問題沒法在線上 debug,難道只能經過加日誌再從新發布嗎?
- 線上遇到某個用戶的數據處理有問題,但線上一樣沒法 debug,線下沒法重現!
- 是否有一個全局視角來查看系統的運行情況?
- 有什麼辦法能夠監控到JVM的實時運行狀態?
- 怎麼快速定位應用的熱點,生成火焰圖?
- Github 地址:https://github.com/alibaba/arthas
- star: 18.8 k
- 介紹: Arthas 是 Alibaba 開源的 Java 診斷工具。
12.spring-boot-examples
學習 Spring Boot 必備!配合上個人 springboot-guide :https://github.com/Snailclimb/springboot-guide,效果槓槓滴!
- Github 地址:https://github.com/ityouknow/spring-boot-examples
- star: 20.2 k
- 介紹: Spring Boot 教程、技術棧示例代碼,快速簡單上手教程。
13.lombok
使用 Lombok 咱們能夠簡化咱們的 Java 代碼,好比使用它以後咱們經過註釋就能夠實現 getter/setter、equals等方法。
- Github 地址:https://github.com/rzwitserloot/lombok
- star: 20.2 k
- 介紹: 對 Java 編程語言的很是刺激的補充。https://projectlombok.org/ 。
14.p3c
與我而言,沒有特別驚豔,可是一些提供的一些代碼規範確實挺有用的!
- Github 地址:https://github.com/alibaba/p3c
- star: 19.8 k
- 介紹: 阿里巴巴Java編碼指南pmd實現和IDE插件。
15.spring-boot-demo
- Github 地址:https://github.com/xkcoding/spring-boot-demo
- Star: 8.8k
- 介紹: spring boot demo 是一個用來深度學習並實戰 spring boot 的項目。
16. awesome-java
Guide 哥半個多月前開始維護的,雖然如今 Star 數量比較少,我相信後面必定會有更多人喜歡上這個項目,我也會繼續認真維護下去。
- Github 地址:https://github.com/Snailclimb/awesome-java
- Star: 0.3 k
- 介紹: Github 上很是棒的 Java 開源項目集合。
開源項目推薦
做者的其餘開源項目推薦:
- JavaGuide:【Java學習+面試指南】 一份涵蓋大部分Java程序員所須要掌握的核心知識。
- springboot-guide : 適合新手入門以及有經驗的開發人員查閱的 Spring Boot 教程(業餘時間維護中,歡迎一塊兒維護)。
- programmer-advancement : 我以爲技術人員應該有的一些好習慣!
- spring-security-jwt-guide :從零入門 !Spring Security With JWT(含權限驗證)後端部分代碼。