上次誰說要Java開源專案來著?來!

今天推薦的幾款主要包括後臺管理專案、電商專案和微服務專案。

# 專案一

專案名稱:Java

專案簡介: 這是一個基於Java的資料結構與演算法的實現專案。裡面包含了幾乎常用所有資料結構的實現,以及諸多演算法題和LeetCode習題的Java實現。主要包括:

加解密演算法

進位制轉換

各種資料結構

分治

動態規劃

數學類問題

搜尋問題

排序問題

LeetCode習題

其他雜項演算法題等

上次誰說要Java開源專案來著?來!

對於我們的作用: 基於Java語言的資料結構和演算法題練手必備!

專案原始碼地址:https://github。com/TheAlgorithms/Java

# 專案二

專案名稱:eladmin

專案簡介:eladmin是一個基於 Spring Boot + Vue的前後端分離的後臺管理系統,專案採用分模組開發方式, 許可權控制採用 RBAC,支援資料字典與資料許可權管理,支援一鍵生成前後端程式碼,支援動態路由,對於初學者還是比較友好的。

上次誰說要Java開源專案來著?來!

上次誰說要Java開源專案來著?來!

主要技術點或特性:

Spring Boot 2。x

JPA

Spring Security

Redis

Vue

對於我們的作用: 一套典型的後臺管理系統,用的也是一套比較典型的Java後端開發技術,可以幫我們串聯起很多後端開發的知識。

專案原始碼地址:https://github。com/elunez/eladmin

# 專案三

專案名稱:jodd

專案簡介:

Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1。7 Mb

主要技術點或特性:

jodd主要包含:

Jodd Libraries(程式庫):Json、Email、HTTP、Jerry 。。。

Micro-frameworks(微框架):Madvoc、Petite、Proxetta、DbOom 。。。

Jodd Utilities(實用工具):BeanUtil、Props、Decora、Cli、Ref 。。。

對於我們的作用: 一方面當我們想要用Java快速實現一些功能需求的時候,引入jodd就可以幫我們完成很多事情,很多工具和程式碼都開箱即用,簡便高效;另外一方面研究其原始碼可以幫助我們開啟技術視野。

專案原始碼地址:https://github。com/oblac/jodd

# 專案四

專案名稱:SnowJena

專案簡介:

SnowJena是一個基於令牌桶演算法實現的分散式無鎖限流框架,支援熔斷降級,支援動態配置規則,支援視覺化監控,開箱即用。可用於Java後端專案常見的本地限流和分散式限流的場景。

上次誰說要Java開源專案來著?來!

主要技術點或特性:

支援本地限流

支援分散式限流

支援黑白名單

支援視覺化監控等。

另外專案用到了大量設計模式思想,包括單例模式、觀察者模式、工廠模式、建造者模式等等。

對於我們的作用: 一是幫助我們學習和實踐限流這一常見的技術方案和實現原理,二是幫助我們學習和理解常見的設計模式。

專案原始碼地址:https://github。com/ystcode/SnowJena

# 專案五

專案名稱:seata

專案簡介:Seata 是一款阿里巴巴開源的分散式事務解決方案,致力於在微服務架構下提供高效能和簡單易用的分散式事務服務。

上次誰說要Java開源專案來著?來!

在 Seata 開源之前,Seata 對應的內部版本在阿里內部一直扮演著分散式一致性中介軟體的角色,而且應用於歷年的雙11場景。2019年1月,為了打造更加完善的技術生態和普惠技術成果,Seata 正式宣佈對外開源了。

上次誰說要Java開源專案來著?來!

主要技術點或特性:

支援常見主流的微服務框架

支援AT模式

支援TCC模式

支援SAGA模式

高可用和強大的橫向擴充套件能力

對於我們的作用: 分散式事務問題幾乎是當下後端開發和架構領域最棘手和最有含金量的問題之一,多學點總是好的。

專案原始碼地址:https://github。com/seata/seata

# 後記

感謝這些優秀的開源作者和優秀的開源專案,我們站在具人的肩膀上,看得更好,走得也更遠!