Awsome Java
Great Java project on Github(Github 上非常棒的 Java 开源项目).
大家都知道 Github 是一个程序员福地,这里有各种厉害的开源框架、软件或者教程。这些东西对于我们学习和进步有着莫大的进步,所以我有了这个将 Github 上非常棒的 Java 开源项目整理下来的想法。我会按照几个维度对项目进行分类,以便大家查阅。当然,如果你觉得不错的话,欢迎给本项目点个 Star。我会用我的业余时间持续完善这份名单,谢谢🙏。
欢迎大家推荐自己觉得不错的 Java 项目,下面项目的排序很大程度是根据当前项目的 Star 数量。
教程
Java
- JavaGuide :【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
- CS-Notes :技术面试必备基础知识、Leetcode 题解、后端面试、Java 面试、春招、秋招、操作系统、计算机网络、系统设计。
- advanced-java :互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。
- architect-awesome :后端架构师技术图谱。
- toBeTopJavaer :Java工程师成神之路 。
- tutorials:该项目是一系列小而专注的教程 - 每个教程都涵盖 Java 生态系统中单一且定义明确的开发领域。 当然,它们的重点是 Spring Framework - Spring,Spring Boot 和 Spring Securiyt。 除了 Spring 之外,还有以下技术:核心 Java,Jackson,HttpClient,Guava。
- JCSprout :处于萌芽阶段的Java核心知识库。
- JavaFamily :【互联网一线大厂面试+学习指南】进阶知识完全扫盲。
- JGrowing :Java is Growing up but not only Java。Java成长路线,但学到不仅仅是Java。
数据结构/算法
- LeetCodeAnimation :Demonstrate all the questions on LeetCode in the form of animation.(用动画的形式呈现解LeetCode题目的思路)。
- TheAlgorithms-Java :All Algorithms implemented in Java。
SpringBoot
- SpringAll :循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码。
- springboot-learning-example :Spring Boot 实践学习案例,是 Spring Boot 初学者及核心技术巩固的最佳实践。
SpringCloud
- SpringCloudLearning : 《史上最简单的Spring Cloud教程源码》。
- SpringCloud :基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。
大数据
- BigData-Notes :大数据入门指南 ⭐️。
- flink-learning :含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。
设计模式
- java-design-patterns : Design patterns implemented in Java。
框架
- spring-boot :Spring Boot可以轻松创建独立的生产级基于Spring的应用程序,内置 web 服务器让你可以像运行普通 Java 程序一样运行项目。另外,大部分Spring Boot项目只需要少量的配置即可,这有别于 Spring 的重配置。
- flink :Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。
- Sentinel :A lightweight powerful flow control component enabling reliability and monitoring for microservices. (轻量级的流量控制、熔断降级 Java 库)。
- dubbo :Apache Dubbo是一个基于Java的高性能开源RPC框架。
- spring-cloud-kubernetes : Kubernetes 集成 Spring Cloud Discovery Client, Configuration, etc...。
- seata : Seata 是一种易于使用,高性能,基于 Java 的开源分布式事务解决方案。
- skywalking : 针对分布式系统的应用性能监控,尤其是针对微服务、云原生和面向容器的分布式系统架构。
软件/系统
开发
- elasticsearch:开源,分布式,RESTful搜索引擎。
- zipkin :Zipkin是一个分布式跟踪系统。它有助于收集解决服务体系结构中的延迟问题所需的时序数据。功能包括该数据的收集和查找。
- apollo :Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
- canal :阿里巴巴 MySQL binlog 增量订阅&消费组件。
- DataX :DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
- cat : CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
- server : 野火IM是一套跨平台、核心功能开源的即时通讯解决方案。
- EasyScheduler : Easy Scheduler是一个分布式工作流任务调度系统,主要解决“复杂任务依赖但无法直接监控任务健康状态”的问题。Easy Scheduler以DAG方式组装任务,可以实时监控任务的运行状态。同时,它支持重试,重新运行等操作... 。
其他
- halo :Halo 可能是最好的 Java 博客系统。
实战
- mall :mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。
- mall-swarm : mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。
- litemall : 又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端。
- vhr :微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。
- FEBS-Shiro :Spring Boot 2.1.3,Shiro1.4.0 & Layui 2.5.4 权限管理系统。
工具
- guava :Guava 是一组核心库,其中包括新的集合类型(例如multimap 和 multiset),不可变集合,图形库以及用于并发、I / O、哈希、原始类型、字符串等的实用程序!
- p3c :Alibaba Java Coding Guidelines pmd implements and IDE plugin。Eclipse 和 IDEA 上都有该插件,推荐使用!
- arthas : Arthas 是Alibaba开源的Java诊断工具。
- hutool : Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。
- thingsboard :开源物联网平台 - 设备管理,数据收集,处理和可视化。