年末將至,Java 開發者必須了解的 15 個Java 頂級開源項目
專注于Java領域優質技術,歡迎關注
作者:SnailClimb
Star 的數量統計于 2019-12-29。
1.JavaGuide
Guide 哥大三開始維護的,目前算是純 Java 類型項目中 Star 數量最多的項目了。但是,本倉庫的價值遠遠( N次 )比不上像 Spring Boot、Elasticsearch 等等這樣非常非常非常優秀的項目。希望以后我也有能力為這些項目貢獻一些有價值的代碼。
- Github 地址:github.com/Snailclimb/…
- Star: 66.3k
- 介紹: 【Java 學習 面試指南】 一份涵蓋大部分 Java 程序員所需要掌握的核心知識。
2.java-design-patterns
感覺還不錯。根據官網介紹:
設計模式是程序員在設計應用程序或系統時可以用來解決常見問題的最佳形式化實踐。 設計模式可以通過提供經過測試的,經過驗證的開發范例來加快開發過程。 重用設計模式有助于防止引起重大問題的細微問題,并且還可以提高熟悉模式的編碼人員和架構師的代碼可讀性。
- Github 地址 : github.com/iluwatar/ja…
- Star: 53.8k
- 介紹: 用 Java 實現的設計模式。java-design-patterns.com。
3.elasticsearch
搜索引擎界的扛把子,但不僅僅是搜素引擎那么簡單。
- Github 地址 : github.com/elastic/ela…
- Star: 46.2k
- 介紹: 開源,分布式,RESTful 搜索引擎。
4.Spring-boot
必須好好學啊,一定要好好學!現在 Java 后端新項目有不用 Spring Boot 開發的有嗎?如果有的話,請把這個人的聯系方式告訴我,我有很多話想給他交流交流!
- Github地址: github.com/spring-proj…
- star: 34.8k (1,073 stars this month)
- 介紹: 雖然Spring的組件代碼是輕量級的,但它的配置卻是重量級的(需要大量XML配置),不過Spring Boot 讓這一切成為了過去。 另外Spring Cloud也是基于Spring Boot構建的,我個人非常有必要學習一下。
5.RxJava
這個沒怎么用過,不做太多評價。
- Github 地址 : github.com/ReactiveX/R…
- Star: 41.5k
- 介紹: RxJava 是一個 基于事件流、實現異步操作的庫。
6.advanced-java
本項目大部分內容來自中華石杉的一個課程,內容涵蓋高并發、分布式、高可用、微服務、海量數據處理等領域知識,非常不錯了!
- Github 地址:github.com/doocs/advan…
- Star: 36.7k
- 介紹: 互聯網 Java 工程師進階知識完全掃盲:涵蓋高并發、分布式、高可用、微服務等領域知識,后端同學必看,前端同學也可學習。
7.mall
很牛逼的實戰項目,還附有詳細的文檔,作為畢設或者練手項目都再好不過了。
- Github地址: github.com/macrozheng/…
- star: 27.6k
- 介紹: mall項目是一套電商系統,包括前臺商城系統及后臺管理系統,基于SpringBoot MyBatis實現。 前臺商城系統包含首頁門戶、商品推薦、商品搜索、商品展示、購物車、訂單流程、會員中心、客戶服務、幫助中心等模塊。 后臺管理系統包含商品管理、訂單管理、會員管理、促銷管理、運營管理、內容管理、統計報表、財務管理、權限管理、設置等模塊。
8.okhttp
給我感覺是安卓項目中用的居多。當然,Java 后端項目也會經常用,但是一般使用 Spring Boot 進行開發的時候,如果需要遠程調用的話建議使用 Spring 封裝的 RestTemplate。
- Github地址:github.com/square/okht…
- star: 35.4k
- 介紹: 適用于Android,Kotlin和Java的HTTP客戶端。square.github.io/okhttp/。
9.guava
很厲害很厲害!提供了很多非常實用的工具類、更加實用的集合類、一些常用的數據結構比如布隆過濾器、緩存等等。
- Github地址:github.com/google/guav…
- star: 35.3k
- 介紹: Guava是一組核心庫,其中包括新的集合類型(例如 multimap 和 multiset),不可變集合,圖形庫以及用于并發,I / O,哈希,基元,字符串等的實用程序!
10.Spark
我木有用過,留下了沒有技術的眼淚。
- Github地址:github.com/apache/spar…
- star: 24.7k
- 介紹: Spark 是一個快速、通用的大規模數據處理引擎,和Hadoop的MapReduce計算框架類似,但是相對于MapReduce,Spark憑借其可伸縮、基于內存計算等特點,以及可以直接讀寫Hadoop上任何格式數據的優勢,進行批處理時更加高效,并有更低的延遲。
11.arthas
雖然我自己沒有親身用過,但是身邊用過的朋友評價都還挺好的。根據官網介紹,這家伙可以解決下面這些讓人腦殼疼的問題:
- 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception?
- 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了?
- 遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎?
- 線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現!
- 是否有一個全局視角來查看系統的運行狀況?
- 有什么辦法可以監控到JVM的實時運行狀態?
- 怎么快速定位應用的熱點,生成火焰圖?
- Github 地址:github.com/alibaba/art…
- star: 18.8 k
- 介紹: Arthas 是 Alibaba 開源的 Java 診斷工具。
12.spring-boot-examples
學習 Spring Boot 必備!配合上我的 springboot-guide :github.com/Snailclimb/…,效果杠杠滴!
- Github 地址:github.com/ityouknow/s…
- star: 20.2 k
- 介紹: Spring Boot 教程、技術棧示例代碼,快速簡單上手教程。
13.lombok
使用 Lombok 我們可以簡化我們的 Java 代碼,比如使用它之后我們通過注釋就可以實現 getter/setter、equals等方法。
- Github 地址:github.com/rzwitserloo…
- star: 20.2 k
- 介紹: 對 Java 編程語言的非常刺激的補充。projectlombok.org/ 。
14.p3c
與我而言,沒有特別驚艷,但是一些提供的一些代碼規范確實挺有用的!
- Github 地址:github.com/alibaba/p3c
- star: 19.8 k
- 介紹: 阿里巴巴Java編碼指南pmd實現和IDE插件。
15.spring-boot-demo
- Github 地址:github.com/xkcoding/sp…
- Star: 8.8k
- 介紹: spring boot demo 是一個用來深度學習并實戰 spring boot 的項目。
來源:掘金 鏈接:https://juejin.im/post/5e0d5fe35188253ab321a4e1