Github 上有沒有優秀的Java 項目推薦?


大家都知道 Github 是一個程序員福地,這里有各種厲害的開源框架、軟件或者教程。這些東西對於我們學習和進步有着莫大的進步,所以我有了這個將 Github 上非常棒的 Java 開源項目整理下來的想法。我會按照幾個維度對項目進行分類,以便大家查閱。當然,如果你覺得不錯的話,歡迎給本項目點個 Star。我會用我的業余時間持續完善這份名單,謝謝 。

歡迎大家推薦自己覺得不錯的 Java 項目,下面項目的排序很大程度是根據當前項目的 Star 數量。

如果有碼雲上比較好的項目的話,我也會推薦到這里來!另外,我也會推薦少部分過於優秀但是非開源的優質 Java 項目。

項目地址:

https://github.com/Snailclimb/awesome-java​github.com

教程

Java

  1. JavaGuide :【Java 學習+面試指南】 一份涵蓋大部分 Java 程序員所需要掌握的核心知識。
  2. CS-Notes :技術面試必備基礎知識、Leetcode 題解、后端面試、Java 面試、春招、秋招、操作系統、計算機網絡、系統設計。
  3. advanced-java :互聯網 Java 工程師進階知識完全掃盲:涵蓋高並發、分布式、高可用、微服務、海量數據處理等領域知識。
  4. miaosha : 秒殺系統設計與實現.互聯網工程師進階與分析。
  5. architect-awesome :后端架構師技術圖譜。
  6. toBeTopJavaer :Java 工程師成神之路 。
  7. tutorials:該項目是一系列小而專注的教程 - 每個教程都涵蓋 Java 生態系統中單一且定義明確的開發領域。 當然,它們的重點是 Spring Framework - Spring,Spring Boot 和 Spring Securiyt。 除了 Spring 之外,還有以下技術:核心 Java,Jackson,HttpClient,Guava。
  8. JCSprout :處於萌芽階段的 Java 核心知識庫。
  9. JavaFamily :【互聯網一線大廠面試+學習指南】進階知識完全掃盲。
  10. JGrowing :Java is Growing up but not only Java。Java 成長路線,但學到不僅僅是 Java。

數據結構/算法

  1. LeetCodeAnimation :Demonstrate all the questions on LeetCode in the form of animation.(用動畫的形式呈現解 LeetCode 題目的思路)。
  2. TheAlgorithms-Java :All Algorithms implemented in Java。

SpringBoot

  1. springboot-guide :SpringBoot 核心知識點總結。 基於 Spring Boot 2.19+。
  2. SpringAll :循序漸進,學習 Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客 Spring 系列源碼。
  3. springboot-learning-example :Spring Boot 實踐學習案例,是 Spring Boot 初學者及核心技術鞏固的最佳實踐。
  4. spring-boot-demo :spring boot demo 是一個用來深度學習並實戰 spring boot 的項目,目前總共包含 63 個集成 demo,已經完成 52 個。
  5. SpringBoot-Labs :Spring Boot 系列教程。

SpringCloud

  1. SpringCloudLearning : 方志朋的《史上最簡單的 Spring Cloud 教程源碼》。
  2. SpringCloud-Learning : Spring Cloud 基礎教程,持續連載更新中。
  3. spring-cloud : 《Spring Cloud 微服務-全棧技術與案例解析》和《Spring Cloud 微服務 入門 實戰與進階》配套源碼。
  4. spring-cloud-examples :Spring Cloud 學習案例,服務發現、服務治理、鏈路追蹤、服務監控等 (基本沒更新了,Spring Cloud 比較老了)。
  5. SpringCloud :基於 SpringCloud2.1 的微服務開發腳手架,整合了 spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway 等。服務治理方面引入 elasticsearch、skywalking、springboot-admin、zipkin 等,讓項目開發快速進入業務開發,而不需過多時間花費在架構搭建上。

大數據

  1. BigData-Notes :大數據入門指南 ⭐️。
  2. flink-learning :含 Flink 入門、概念、原理、實戰、性能調優、源碼解析等內容。

設計模式

  1. java-design-patterns : Design patterns implemented in Java。

實戰項目

  1. mall :mall 項目是一套電商系統,包括前台商城系統及后台管理系統,基於 SpringBoot+MyBatis 實現。
  2. mall-swarm : mall-swarm 是一套微服務商城系統,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技術,同時提供了基於 Vue 的管理后台方便快速搭建系統。
  3. Spring-Cloud-Admin :Cloud-Admin 是國內首個基於 Spring Cloud 微服務化開發平台,具有統一授權、認證后台管理系統,其中包含具備用戶管理、資源權限管理、網關 API 管理等多個模塊,支持多業務系統並行開發,可以作為后端服務的開發腳手架。代碼簡潔,架構清晰,適合學習和直接項目中使用。核心技術采用 Spring Boot2 以及 Spring Cloud Gateway 相關核心組件,前端采用 vue-element-admin 組件。
  4. pig:(gitee)基於 Spring Boot 2.2、 Spring Cloud Hoxton & Alibaba、 OAuth2 的 RBAC 權限管理系統。
  5. litemall : 又一個小商城。litemall = Spring Boot 后端 + Vue 管理員前端 + 微信小程序用戶前端 + Vue 用戶移動端。
  6. vhr :微人事是一個前后端分離的人力資源管理系統,項目采用 SpringBoot+Vue 開發。
  7. FEBS-Shiro :Spring Boot 2.1.3,Shiro1.4.0 & Layui 2.5.4 權限管理系統。

系統設計

微服務/分布式

基礎框架

  1. spring-boot :Spring Boot 可以輕松創建獨立的生產級基於 Spring 的應用程序,內置 web 服務器讓你可以像運行普通 Java 程序一樣運行項目。另外,大部分 Spring Boot 項目只需要少量的配置即可,這有別於 Spring 的重配置。
  2. spring-cloud-alibaba : Spring Cloud Alibaba 致力於提供微服務開發的一站式解決方案。此項目包含開發分布式應用微服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕松使用這些組件來開發分布式應用服務。
  3. spring-cloud-kubernetes : Kubernetes 集成 Spring Cloud Discovery Client, Configuration, etc…。

Spring Cloud Alibaba 相關

  1. Sentinel :A lightweight powerful flow control component enabling reliability and monitoring for microservices. (輕量級的流量控制、熔斷降級 Java 庫)。
  2. dubbo :Apache Dubbo 是一個基於 Java 的高性能開源 RPC 框架。
  3. nacos :Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。Nacos 可以作為 Dubbo 的注冊中心來使用。
  4. seata : Seata 是一種易於使用,高性能,基於 Java 的開源分布式事務解決方案。
  5. RocketMQ :阿里巴巴開源的一款高性能、高吞吐量的分布式消息中間件。

API 網關

  1. kong :Kong 是一個雲本地的、快速的、可伸縮的分布式微服務抽象層(也稱為 API 網關、API 中間件或在某些情況下稱為服務網格)。2015 年作為開源項目發布,其核心價值是高性能和可擴展性。
  2. soul :高性能、基於 webflux 的反應式 Java API 網關

其他

  1. flink :Apache Flink 是一個框架和分布式處理引擎,用於在無邊界和有邊界數據流上進行有狀態的計算。Flink 能在所有常見集群環境中運行,並能以內存速度和任意規模進行計算。
  2. skywalking : 針對分布式系統的應用性能監控,尤其是針對微服務、雲原生和面向容器的分布式系統架構。
  3. apollo :Apollo(阿波羅)是攜程框架部門研發的分布式配置中心,能夠集中化管理應用不同環境、不同集群的配置,配置修改后能夠實時推送到應用端,並且具備規范的權限、流程治理等特性,適用於微服務配置管理場景。
  4. zipkin :Zipkin 是一個分布式跟蹤系統。它有助於收集解決服務體系結構中的延遲問題所需的時序數據。功能包括該數據的收集和查找。
  5. EasyScheduler : Easy Scheduler 是一個分布式工作流任務調度系統,主要解決“復雜任務依賴但無法直接監控任務健康狀態”的問題。Easy Scheduler 以 DAG 方式組裝任務,可以實時監控任務的運行狀態。同時,它支持重試,重新運行等操作… 。

消息中間件

  1. RocketMQ :阿里巴巴開源的一款高性能、高吞吐量的分布式消息中間件。
  2. Kafaka: Kafka 是一種分布式的,基於發布 / 訂閱的消息系統。關於它的入門可以查看:Kafka 入門看這一篇就夠了
  3. RabbitMQ :由 erlang 開發的基於 AMQP(Advanced Message Queue 高級消息隊列協議)協議實現的消息隊列。

搜索引擎

  1. elasticsearch:開源,分布式,RESTful 搜索引擎。

數據庫

  • redissonRedisson是架設在Redis基礎上的一個 Java 駐內存數據網格(In-Memory Data Grid)。支持超過 30 個對象和服務:Set, multiap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, RPC。Redisson 項目介紹

其他

  1. canal :阿里巴巴 MySQL binlog 增量訂閱&消費組件。
  2. DataX :DataX 是阿里巴巴集團內被廣泛使用的離線數據同步工具/平台,實現包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各種異構數據源之間高效的數據同步功能。
  3. cat : CAT 作為服務端項目基礎組件,提供了 Java, C/C++, Node.js, Python, Go 等多語言客戶端,已經在美團點評的基礎架構中間件框架(MVC 框架,RPC 框架,數據庫框架,緩存框架等,消息隊列,配置系統等)深度集成,為美團點評各業務線提供系統豐富的性能指標、健康狀況、實時告警等。
  4. server : 野火 IM 是一套跨平台、核心功能開源的即時通訊解決方案。
  5. halo :Halo 可能是最好的 Java 博客系統。

工具

常用工具類/代碼質量

  1. lombok :使用 Lombok 我們可以簡化我們的 Java 代碼,比如使用它之后我們通過注釋就可以實現 getter/setter、equals等方法。
  2. guava :Guava 是一組核心庫,其中包括新的集合類型(例如 multimap 和 multiset),不可變集合,圖形庫以及用於並發、I / O、哈希、原始類型、字符串等的實用程序!
  3. p3c :Alibaba Java Coding Guidelines pmd implements and IDE plugin。Eclipse 和 IDEA 上都有該插件,推薦使用!
  4. arthas : Arthas 是 Alibaba 開源的 Java 診斷工具。
  5. sonarqube :SonarQube 支持所有開發人員編寫更干凈,更安全的代碼。
  6. checkstyle :Checkstyle 是一種開發工具,可幫助程序員編寫符合編碼標准的 Java 代碼。它使檢查 Java 代碼的過程自動化,從而使人們不必執行這項無聊(但很重要)的任務。這使其成為想要實施編碼標准的項目的理想選擇。
  7. pmd : 可擴展的多語言靜態代碼分析器。
  8. spotbugs :SpotBugs 是 FindBugs 的繼任者。靜態分析工具,用於查找 Java 代碼中的錯誤。
  9. hutool : Hutool 是一個 Java 工具包,也只是一個工具包,它幫助我們簡化每一行代碼,減少每一個方法,讓 Java 語言也可以“甜甜的”。

Excel

  1. easyexcel :快速、簡單避免OOM的java處理Excel工具。

PDF

  1. pdfbox :用於處理PDF文檔的開放源碼Java工具。該項目允許創建新的PDF文檔、對現有文檔進行操作以及從文檔中提取內容。PDFBox還包括幾個命令行實用程序。PDFBox是在Apache 2.0版許可下發布的。
  2. OpenPDF :OpenPDF是一個免費的Java庫,用於使用LGPL和MPL開源許可創建和編輯PDF文件。OpenPDF基於iText的一個分支。
  3. itext7 :iText 7代表了想要利用利用好 PDF 的開發人員的更高級別的 sdk。iText 7配備了更好的文檔引擎、高級和低級編程功能以及創建、編輯和增強 PDF 文檔的能力,幾乎對每個工作流都有好處。
  4. FOP :Apache FOP 項目的主要的輸出目標是PDF。

開發必備

API 請求

  1. Insomnia :像人類而不是機器人一樣調試API。我平時經常用的,界面美觀且輕量,總之很喜歡。
  2. postman :API 請求生成器。
  3. postwoman :API 請求生成器-一個免費、快速、漂亮的 Postma 替代品。

Markdown

  1. Typora :我一直用的一款 Markdown 工具,直接文件夾試圖和目錄試圖,支持 Markdown 格式直接導出成 PDF、HTML 等格式。
  2. markdown-here :使用 markdown 語法發郵件,並且提供多種主題,快來拯救你的郵件格式吧!

其他

  1. thingsboard :開源物聯網平台 - 設備管理,數據收集,處理和可視化。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM