26款Java开源项目,劝你千万别错过,适合所有程序员
小編特地為大家收集了26種常用的Java開源項(xiàng)目,適合所有程序員。希望對正在學(xué)習(xí)的你一點(diǎn)幫助。謝謝
整理不易,建議收藏閱讀。
?
1.分布式應(yīng)用服務(wù)開發(fā)的一站式解決方案 Spring Cloud Alibaba
Spring Cloud Alibaba 致力于提供分布式應(yīng)用服務(wù)開發(fā)的一站式解決方案。此項(xiàng)目包含開發(fā)分布式應(yīng)用服務(wù)的必需組件,方便開發(fā)者通過 Spring Cloud 編程模型輕松使用這些組件來開發(fā)分布式應(yīng)用服務(wù)。
依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以將 Spring Cloud 應(yīng)用接入阿里分布式應(yīng)用解決方案,通過阿里中間件來迅速搭建分布式應(yīng)用系統(tǒng)。
2. JDBC 連接池、監(jiān)控組件 Druid
Druid是一個(gè) JDBC 組件。
1.監(jiān)控?cái)?shù)據(jù)庫訪問性能。
2.提供了一個(gè)高效、功能強(qiáng)大、可擴(kuò)展性好的數(shù)據(jù)庫連接池。
3.數(shù)據(jù)庫密碼加密。
4.SQL執(zhí)行日志。
3. Java 的 JSON 處理器 fastjson
fastjson 是一個(gè)性能很好的 Java 語言實(shí)現(xiàn)的 JSON 解析器和生成器,來自阿里巴巴的工程師開發(fā)。
主要特點(diǎn):快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);強(qiáng)大(支持普通JDK類包括任意Java Bean Class、Collection、Map、Date或enum);零依賴(沒有依賴其它任何類庫除了JDK)。
?
4. 服務(wù)框架 Dubbo
Apache Dubbo (incubating) |是阿里巴巴的一款高性能、輕量級(jí)的開源Java RPC框架,它提供了三大核心能力:面向接口的遠(yuǎn)程方法調(diào)用,智能容錯(cuò)和負(fù)載均衡,以及服務(wù)自動(dòng)注冊和發(fā)現(xiàn)。
?
5. 企業(yè)級(jí)流式計(jì)算引擎 JStorm
JStorm 是參考 Apache Storm 實(shí)現(xiàn)的實(shí)時(shí)流式計(jì)算框架,在網(wǎng)絡(luò)IO、線程模型、資源調(diào)度、可用性及穩(wěn)定性上做了持續(xù)改進(jìn),已被越來越多企業(yè)使用。JStorm 可以看作是 storm 的 java 增強(qiáng)版本,除了內(nèi)核用純java實(shí)現(xiàn)外,還包括了thrift、python、facet ui。從架構(gòu)上看,其本質(zhì)是一個(gè)基于 zk 的分布式調(diào)度系統(tǒng)。
6. apns4j
apns4j 是 Apple Push Notification Service 的 Java 實(shí)現(xiàn)!
?
7. 分布式數(shù)據(jù)層 TDDL
TDDL 是一個(gè)基于集中式配置的 jdbc datasource實(shí)現(xiàn),具有主備,讀寫分離,動(dòng)態(tài)數(shù)據(jù)庫配置等功能。
8. 輕量級(jí)分布式數(shù)據(jù)訪問層 CobarClient
Cobar Client是一個(gè)輕量級(jí)分布式數(shù)據(jù)訪問層(DAL)基于iBatis(已更名為MyBatis)和Spring框架實(shí)現(xiàn)。
9. 淘寶定制 JVM:TaobaoJVM
TaobaoJVM 基于 OpenJDK HotSpot VM,是國內(nèi)第一個(gè)優(yōu)化、定制且開源的服務(wù)器版Java虛擬機(jī)。目前已經(jīng)在淘寶、天貓上線,全部替換了Oracle官方JVM版本,在性能,功能上都初步體現(xiàn)了它的價(jià)值。
?
10. Java 圖片處理類庫 SimpleImage
SimpleImage是阿里巴巴的一個(gè)Java圖片處理的類庫,可以實(shí)現(xiàn)圖片縮略、水印等處理。
11. redis 的 java 客戶端 Tedis
Tedis 是另一個(gè) redis 的 java 客戶端。Tedis 的目標(biāo)是打造一個(gè)可在生產(chǎn)環(huán)境直接使用的高可用 Redis 解決方案。
12.開源 Java 診斷工具 Arthas
Arthas(阿爾薩斯)是阿里巴巴開源的 Java 診斷工具,深受開發(fā)者喜愛。
Arthas 采用命令行交互模式,同時(shí)提供豐富的 Tab 自動(dòng)補(bǔ)全功能,進(jìn)一步方便進(jìn)行問題的定位和診斷。
13.動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺(tái) Nacos
?
Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡單易用的特性集,幫助您實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置管理、服務(wù)及流量管理。
Nacos 幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺(tái)。 Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu)(例如微服務(wù)范式、云原生范式)的服務(wù)基礎(chǔ)設(shè)施。
14.Java 解析 Excel 工具 easyexcel
Java 解析、生成 Excel 比較有名的框架有 Apache poi、jxl 。但他們都存在一個(gè)嚴(yán)重的問題就是非常的耗內(nèi)存,poi 有一套 SAX 模式的 API 可以一定程度的解決一些內(nèi)存溢出的問題,但 POI 還是有一些缺陷,比如 07 版 Excel 解壓縮以及解壓后存儲(chǔ)都是在內(nèi)存中完成的,內(nèi)存消耗依然很大。easyexcel 重寫了 poi 對 07 版 Excel 的解析,能夠原本一個(gè) 3M 的 excel 用 POI sax 依然需要 100M 左右內(nèi)存降低到 KB 級(jí)別,并且再大的 excel 不會(huì)出現(xiàn)內(nèi)存溢出,03 版依賴 POI 的 sax 模式。在上層做了模型轉(zhuǎn)換的封裝,讓使用者更加簡單方便。
15.高可用流量管理框架 Sentinel
Sentinel 是面向微服務(wù)的輕量級(jí)流量控制框架,從流量控制、熔斷降級(jí)、系統(tǒng)負(fù)載保護(hù)等多個(gè)維度保護(hù)服務(wù)的穩(wěn)定性。
只要通過 Sentinel API 定義的代碼,就是資源,能夠被 Sentinel 保護(hù)起來。大部分情況下,可以使用方法簽名,URL,甚至服務(wù)名稱作為資源名來標(biāo)示資源。
16.基于多維度 Metrics 的系統(tǒng)度量和監(jiān)控中間件 SOFALookout
Lookout 是一個(gè)利用多維度的 metrics 對目標(biāo)系統(tǒng)進(jìn)行度量和監(jiān)控的項(xiàng)目。Lookout 的多維度 metrics 參考 Metrics 2.0 標(biāo)準(zhǔn)。Lookout 項(xiàng)目分為客戶端部分與服務(wù)器端部分。
客戶端是一個(gè) Java 的類庫,可以將它植入您的應(yīng)用代碼中采集 metrics 信息,客戶端更多詳情。
服務(wù)端代碼部分,將于下一版本提供。通過 LOOKOUT 的服務(wù),可以對 metrics 數(shù)據(jù)進(jìn)行收集、加工、存儲(chǔ)和查詢等處理,另外結(jié)合 grafana,可做數(shù)據(jù)可視化展示。
?
17.基于 Spring Boot 的研發(fā)框架 SOFABoot
SOFABoot 是螞蟻金服開源的基于 Spring Boot 的研發(fā)框架,它在 Spring Boot 的基礎(chǔ)上,提供了諸如 Readiness Check,類隔離,日志空間隔離等等能力。在增強(qiáng)了 Spring Boot 的同時(shí),SOFABoot 提供了讓用戶可以在 Spring Boot 中非常方便地使用 SOFAStack 相關(guān)中間件的能力。
18.輕量級(jí) Java 類隔離容器 SOFAArk
SOFAArk 是一款基于 Java 實(shí)現(xiàn)的輕量級(jí)類隔離容器,由螞蟻金服公司開源貢獻(xiàn);主要為應(yīng)用程序提供類隔離和依賴包隔離的能力;基于 Fat Jar 技術(shù),應(yīng)用可以被打包成一個(gè)自包含可運(yùn)行的 Fat Jar,應(yīng)用既可以是簡單的單模塊 Java 應(yīng)用也可以是 Spring Boot 應(yīng)用。可訪問網(wǎng)址進(jìn)入快速開始并獲取更多詳細(xì)信息。
19.分布式鏈路追蹤中間件 SOFATracer
SOFATracer 是一個(gè)用于分布式系統(tǒng)調(diào)用跟蹤的組件,通過統(tǒng)一的 traceId 將調(diào)用鏈路中的各種網(wǎng)絡(luò)調(diào)用情況以日志的方式記錄下來,以達(dá)到透視化網(wǎng)絡(luò)調(diào)用的目的。這些日志可用于故障的快速發(fā)現(xiàn),服務(wù)治理等。
20.高性能 Java RPC 框架 SOFARPC
SOFARPC 是一個(gè)高可擴(kuò)展性、高性能、生產(chǎn)級(jí)的 Java RPC 框架。在螞蟻金服 SOFARPC 已經(jīng)經(jīng)歷了十多年及五代版本的發(fā)展。SOFARPC 致力于簡化應(yīng)用之間的 RPC 調(diào)用,為應(yīng)用提供方便透明、穩(wěn)定高效的點(diǎn)對點(diǎn)遠(yuǎn)程服務(wù)調(diào)用方案。為了用戶和開發(fā)者方便的進(jìn)行功能擴(kuò)展,SOFARPC 提供了豐富的模型抽象和可擴(kuò)展接口,包括過濾器、路由、負(fù)載均衡等等。同時(shí)圍繞 SOFARPC 框架及其周邊組件提供豐富的微服務(wù)治理方案。
?
21.基于 Netty 的網(wǎng)絡(luò)通信框架 SOFABolt
SOFABolt 是螞蟻金融服務(wù)集團(tuán)開發(fā)的一套基于 Netty 實(shí)現(xiàn)的網(wǎng)絡(luò)通信框架。
為了讓 Java 程序員能將更多的精力放在基于網(wǎng)絡(luò)通信的業(yè)務(wù)邏輯實(shí)現(xiàn)上,而不是過多的糾結(jié)于網(wǎng)絡(luò)底層 NIO 的實(shí)現(xiàn)以及處理難以調(diào)試的網(wǎng)絡(luò)問題,Netty 應(yīng)運(yùn)而生。
為了讓中間件開發(fā)者能將更多的精力放在產(chǎn)品功能特性實(shí)現(xiàn)上,而不是重復(fù)地一遍遍制造通信框架的輪子,SOFABolt 應(yīng)運(yùn)而生。
22.動(dòng)態(tài)非侵入 AOP 解決方案 JVM-Sandbox
JVM-Sandbox,JVM 沙箱容器,一種基于 JVM 的非侵入式運(yùn)行期 AOP 解決方案。
23.面向云的分布式消息領(lǐng)域標(biāo)準(zhǔn) OpenMessaging
OpenMessaging 是由阿里巴巴發(fā)起,與雅虎、滴滴出行、Streamlio 公司共同參與創(chuàng)立,旨在創(chuàng)立廠商無關(guān)、平臺(tái)無關(guān)的分布式消息及流處理領(lǐng)域的應(yīng)用開發(fā)標(biāo)準(zhǔn)。
?
24.P2P 文件分發(fā)系統(tǒng) Dragonfly
Dragonfly(蜻蜓)是阿里自研的 P2P 文件分發(fā)系統(tǒng),用于解決大規(guī)模文件分發(fā)場景下分發(fā)耗時(shí)、成功率低、帶寬浪費(fèi)等難題。大幅提升發(fā)布部署、數(shù)據(jù)預(yù)熱、大規(guī)模容器鏡像分發(fā)等業(yè)務(wù)能力。
開源版的 Dragonfly 可用于 P2P 文件分發(fā)、容器鏡像分發(fā)、局部限速、磁盤容量預(yù)檢等。它支持多種容器技術(shù),對容器本身無需做任何改造,鏡像分發(fā)比 natvie 方式提速可高達(dá) 57 倍,Registry 網(wǎng)絡(luò)出流量降低99.5%以上。
25.LayoutManager 定制化布局方案 vlayout
VirtualLayout是一個(gè)針對RecyclerView的LayoutManager擴(kuò)展, 主要提供一整套布局方案和布局間的組件復(fù)用的問題。
26.Java 代碼規(guī)約掃描插件 P3C
項(xiàng)目包含三部分:PMD 實(shí)現(xiàn)、IntelliJ IDEA 插件、Eclipse 插件
以上便是所有的內(nèi)容了。有任何疑惑地可在下方留言哦,一起來討論吧。
?
總結(jié)
以上是生活随笔為你收集整理的26款Java开源项目,劝你千万别错过,适合所有程序员的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 资源分享 | 网易云课堂价值 399 的
- 下一篇: GitHub上java的开源项目(jav