2020年值得你學習的16個Java 開源項目

1.JavaGuide

把這個排第一沒有個人因素影響哈!

Guide 哥我自己大三開始維護的,目前算是純 Java 類型項目中 Star 數量最多的項目了。但是,本倉庫的價值遠遠(+N次 )比不上像 Spring Boot、Elasticsearch 等等這樣非常非常非常優秀的項目。希望以後我也有能力為這些項目貢獻一些有價值的代碼。

  • Github 地址:https://github.com/Snailclimb/JavaGuide
  • Star: 66.3k
  • 介紹: 【Java 學習+面試指南】 一份涵蓋大部分 Java 程序員所需要掌握的核心知識。

2.java-design-patterns

感覺還不錯。根據官網介紹:

“設計模式是程序員在設計應用程序或系統時可以用來解決常見問題的優秀形式化實踐。設計模式可以通過提供經過測試的,經過驗證的開發範例來加快開發過程。重用設計模式有助於防止引起重大問題的細微問題,並且還可以提高熟悉模式的編碼人員和架構師的代碼可讀性。”

2020年值得你學習的16個Java 開源項目

java-design-patterns-website

  • Github 地址 : https://github.com/iluwatar/java-design-patterns
  • Star: 53.8k
  • 介紹: 用 Java 實現的設計模式。https://java-design-patterns.com。

3.elasticsearch

搜索引擎界的扛把子,但不僅僅是搜素引擎那麼簡單。

  • 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

這個沒怎麼用過,不做太多評價。

  • Github 地址 : https://github.com/ReactiveX/RxJava
  • Star: 41.5k
  • 介紹: 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。

  • 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

雖然我自己沒有親身用過,但是身邊用過的朋友評價都還挺好的。根據官網介紹,這傢伙可以解決下面這些讓人腦殼疼的問題:

  1. 這個類從哪個 jar 包加載的?為什麼會報各種類相關的 Exception?
  2. 我改的代碼為什麼沒有執行到?難道是我沒 commit?分支搞錯了?
  3. 遇到問題無法在線上 debug,難道只能通過加日誌再重新發布嗎?
  4. 線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現!
  5. 是否有一個全局視角來查看系統的運行狀況?
  6. 有什麼辦法可以監控到JVM的實時運行狀態?
  7. 怎麼快速定位應用的熱點,生成火焰圖?
  • 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 開源項目集合。
  • 今天給大家的分享就到這吧!有收穫,需要JAVA面試資料或者基礎資料都可以關注小編同時轉發此文章後再私聊小編回覆【java】從裡面獲取2020年java架構師進階學習資料和BAT面試題。大家一起交流成長!


分享到:


相關文章: