Java学习与面试指南:从核心知识到高级进阶,Java程序员必备资源大全
教程 JavaJavaGuide:它是【Java 学习+面试指南】,涵盖了大部分 Java 程序员需要掌握的核心知识。CS-Notes:包含技术面试必备的基础知识,还有 Leetcode 题解、后端面试、Java 面试相关内容,以及春招、秋招、操作系统、计算机网络、系统设计等方面。architect-awesome :是后端架构师的技术图谱。Java 工程师有着成神之路,而 tutorials 这个项目是一系列的教程。这些教程都比较小且专注,每个教程都涵盖了 Java 生态系统中某一个单一且定义明确的开发领域。它们的重点在于 Spring Framework、Spring、Spring Boot 和 Spring Security。除了 Spring 以外,还有以下这些技术:核心 Java ,Jackson ,HttpClient ,Guava 。JCSprout 是处于萌芽阶段的 Java 核心知识库。JavaFamily 表示的是【互联网一线大厂面试+学习指南】,它能实现进阶知识的完全扫盲。

Java 在不断成长,然而并不仅仅只有 Java。Java 有着其成长路线,并且在学习过程中所学到的不只是 Java。用动画形式展现解 LeetCode 题目的思路,展示 LeetCode 上的所有题目。TheAlgorithms-Java 是用 Java 实现的所有算法。SpringBootspringboot-guide 主要是对 Spring Boot 核心知识点进行总结,且是以 Spring Boot 2.19+ 为基础的。SpringAll 循序渐进。学习 Spring Boot。学习 Spring Boot 与 Shiro。学习 Spring Cloud。学习 Spring Security 与 Spring Security OAuth2。学习博客 Spring 系列源码。Spring Boot 实践学习案例为 springboot-learning-example ,它对于 Spring Boot 初学者以及想要巩固核心技术的人来说,是最佳的实践方式。
spring-boot-demo 是一个用于深度学习并进行 spring boot 实战的项目,目前包含的集成 demo 总数为 63 个,其中已经完成的有 52 个。SpringBoot-Labs 是关于 Spring Boot 的系列教程。方志朋的《史上最简单的 Spring Cloud 教程源码》是 SpringCloudSpringCloudLearning 。SpringCloud-Learning 是关于 Spring Cloud 的基础教程,并且在持续连载更新。《Spring Cloud 微服务-全栈技术与案例解析》的配套源码以及《Spring Cloud 微服务 入门 实战与进阶》的配套源码。Spring Cloud 学习案例有服务发现、服务治理、链路追踪、服务监控等。这些案例基本没更新了,因为 Spring Cloud 比较老了。SpringCloud 是基于 SpringCloud2.1 的微服务开发脚手架,它整合了 spring-security-oauth2 、nacos 、feign 、sentinel 以及 springcloud-gateway 等。
在服务治理方面引入了 elasticsearch、skywalking、springboot-admin、zipkin 等。这些工具使得项目开发能够快速进入业务开发阶段,无需在架构搭建上花费过多时间。大数据 BigData-Notes 是大数据入门指南。flink-learning 包含了 Flink 的入门知识、相关概念、原理讲解、实战案例、性能调优方法以及源码解析等方面的内容。Design patterns java-design-patterns 是在 Java 中实现的设计模式。实战项目 mall :这套电商系统是 mall 项目,它包含前台商城系统以及后台管理系统,并且是基于 SpringBoot+MyBatis 来实现的。mall-swarm 是一套微服务商城系统。它采用了 Spring Cloud Greenwich 等核心技术,也采用了 Spring Boot 2 等技术,还采用了 MyBatis 等技术,以及 Docker 和 Elasticsearch 等技术。同时,它提供了基于 Vue 的管理后台,以便能够快速搭建系统。Cloud-Admin 是国内首个基于 Spring Cloud 微服务化开发的平台。它有统一授权、认证的后台管理系统。该系统包含用户管理、资源权限管理、网关 API 管理等多个模块。它支持多业务系统并行开发,能作为后端服务的开发脚手架。
代码较为简洁,其架构也较为清晰,既适合学习,也适合直接在项目中使用。在核心技术方面,采用了 Spring Boot2 以及 Spring Cloud Gateway 的相关核心组件,前端则采用了 vue-element-admin 组件。pig 是基于 Spring Boot 2.2、Spring Cloud Hoxton & Alibaba、OAuth2 的 RBAC 权限管理系统。litemall 是又一个小商城。litemall 包含 Spring Boot 后端、Vue 管理员前端、微信小程序用户前端以及 Vue 用户移动端。vhr :微人事是一个前后端分离的人力资源管理系统,此项目是利用 SpringBoot 与 Vue 进行开发的。Spring Boot 2.1.3 搭配 Shiro1.4.0 以及 Layui 2.5.4 的权限管理系统是 FEBS-Shiro 。系统设计微服务/分布式基础框架 spring-boot :Spring Boot 能够很便捷地创建独立的、具备生产级别的基于 Spring 的应用程序。它内置了 web 服务器,使得你可以如同运行普通 Java 程序那样来运行项目。另外,大部分的 Spring Boot 项目仅需少量的配置便能运行。Spring Boot 与 Spring 不同,Spring 更注重重配置。
Spring Cloud Alibaba 致力于给予微服务开发一站式的解决办法。此项目涵盖了开发分布式应用微服务的必要组件,便于开发者借助 Spring Cloud 编程模型轻松运用这些组件去开发分布式应用服务。Spring-cloud-kubernetes 能够将 Kubernetes 与 Spring Cloud 的 Discovery Client 和 Configuration 等进行集成。Spring Cloud Alibaba 相关的 Sentinel 是一种轻量级且功能强大的流量控制组件,它能够为微服务提供可靠性保障并进行监控。(该组件是轻量级的流量控制、熔断降级 Java 库)。Apache Dubbo 是一个基于 Java 的高性能开源 RPC 框架。Nacos 致力于在发现、配置和管理微服务方面提供帮助。Nacos 提供了一组简单易用的特性集,能够帮助您快速实现动态服务发现、服务配置、服务元数据以及流量管理。
Nacos 能够被当作 Dubbo 的注册中心来加以运用。Seata 是一种使用起来较为便捷,具备高性能,基于 Java 开发的开源分布式事务解决方案。RocketMQ 是由阿里巴巴开源的一款具有高性能、高吞吐量的分布式消息中间件。Kong 是一个云本地的分布式微服务抽象层,它速度很快且可伸缩,也被称为 API 网关、API 中间件或在某些情况下被称为服务网格。2015 年它作为开源项目发布,其核心价值在于高性能和可扩展性。flink:Apache Flink 是一个框架与分布式处理引擎,可用于在无边界和有边界数据流上进行有状态的计算。它能够在所有常见的集群环境中运行,并且能以内存速度和任意规模进行计算。skywalking 可用于分布式系统的应用性能监控,尤其适用于微服务、云原生以及面向容器的分布式系统架构。Apollo 是携程框架部门研发的一种分布式配置中心。它可以集中管理应用在不同环境和不同集群下的配置。配置修改后,能够实时推送到应用端。同时,它具备规范的权限和流程治理等特性,适用于微服务配置管理场景。
EasyScheduler 是一个分布式工作流任务调度系统,主要用于解决“复杂任务依赖但无法直接监控任务健康状态”的问题。Easy Scheduler 能够以 DAG 的方式来组装任务,并且可以对任务的运行状态进行实时监控。与此同时,它具备支持重试以及重新运行等操作的功能……。消息中间件 RocketMQ :它是阿里巴巴开源的一款具有高性能和高吞吐量特点的分布式消息中间件。Kafka:Kafka 属于一种分布式的、基于发布/订阅模式的消息系统。入门它可以查看:Kafka 入门只需看这一篇就足够了。RabbitMQ 是由 erlang 开发的,基于 AMQP(高级消息队列协议)协议实现的消息队列。搜索引擎 elasticsearch 是开源的、分布式的且为 RESTful 架构的搜索引擎。数据库中的其他 canal 指的是阿里巴巴的 MySQL binlog 增量订阅与消费组件。DataX 是阿里巴巴集团内广泛使用的工具或平台。它能实现多种异构数据源之间高效的数据同步功能,这些数据源包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等。
CAT 作为服务端项目的基础组件,它提供了多种语言的客户端,包括 Java、C/C++、Node.js、Python、Go 等。CAT 已经与美团点评的基础架构中间件框架(如 MVC 框架、RPC 框架、数据库框架、缓存框架等,以及消息队列、配置系统等)进行了深度集成,从而为美团点评的各业务线提供了系统丰富的性能指标、健康状况和实时告警等。server 表示野火 IM 是一套能够跨平台且核心功能开源的即时通讯解决方案。halo 表明 Halo 或许是最为优秀的 Java 博客系统。使用 Lombok 能够简化 Java 代码。比如,在使用它之后,我们仅通过注释就能实现 getter/setter 方法以及 equals 等方法。它属于常用工具类/代码质量相关的工具。同时有用于并发、I / O、哈希、原始类型、字符串等的实用程序。p3c :Alibaba 的 Java 编码规范,pmd 实现了一个 IDE 插件。在 Eclipse 和 IDEA 上都有这个插件,强烈推荐使用!arthas :Arthas 是由 Alibaba 开源的 Java 诊断工具。
SonarQube 能够让所有开发人员写出更干净且更安全的代码。Checkstyle 是一种开发工具,它可以协助程序员编写符合编码标准的 Java 代码,还能使检查 Java 代码的过程实现自动化,这样人们就不用去执行这项既无聊又重要的任务了。这让它成为那些想要实行编码标准的项目的合适之选。pmd 是可扩展的多语言静态代码分析器。SpotBugs 是 FindBugs 的后继者,是一种静态分析工具,用于找出 Java 代码中的错误。PDFpdfbox 是用于处理 PDF 文档的开放源码 Java 工具。该项目具备创建新 PDF 文档的能力,能够对现有文档进行操作,还可以从文档中提取内容。PDFBox 拥有几个命令行实用程序。PDFBox 是以 Apache 2.0 版许可进行发布的。OpenPDF:OpenPDF 是一个免费的 Java 库,可利用 LGPL 和 MPL 开源许可来创建和编辑 PDF 文件。
OpenPDF 是 iText 的一个分支。iText 7 意味着对于想要充分利用 PDF 的开发人员来说,它是更高级别的软件开发工具包。iText 7 具备更优良的文档引擎,以及高级和低级的编程功能,还拥有创建、编辑和增强 PDF 文档的能力,几乎在每个工作流中都能发挥作用。postman:是 API 请求生成器。MarkdownTypora:我一直都在使用的是一款 Markdown 工具,它具备直接的文件夹视图和目录视图,还支持将 Markdown 格式直接导出为 PDF、HTML 等格式。使用 markdown 语法来发送邮件,同时还提供了多种主题。快来让你的邮件格式得到拯救吧!其他:开源物联网平台,可进行设备管理、数据收集、处理以及可视化。