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