JAVA从小白到微服务学习路线

发布时间 2023-09-18 12:00:17作者: 墨客码

JAVA基础教程

  • 开发环境搭建
  • JAVA基础语法
    • 数据类型
    • 流程控制
  • 数组
  • 面向对象
    • 方法
    • 重载
    • 封装
    • 继承
    • 多态
  • 抽象类
  • 接口
  • 枚举
  • 常用类
  • 泛型集合
  • 泛型
  • 注解
  • 异常处理
  • 多线程
  • IO流
  • 反射
  • Stream API
  • Lambda表达式

计算机基础

数据结构与算法

  • 数据结构与算法基础(青岛大学-王卓)
    • 数据结构与算法基础(青岛大学-王卓)_哔哩哔哩_bilibili

计算机组成原理

  • 计算机组成原理(哈工大 刘宏伟)
    • 【哈工大】计算机组成原理 刘宏伟(全41讲)_哔哩哔哩_bilibili

操作系统

  • 操作系统原理
    • 清华 操作系统原理_哔哩哔哩_bilibili

计算机网络

  • 中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程
    • 中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程_哔哩哔哩_bilibili

编译原理

  • [编译原理] 哈工大公开课(高清版)
  • 【编译原理】哈工大公开课(高清版)_哔哩哔哩_bilibili

数据库

  • 基本概念
  • MySQL 搭建
  • SQL语句编写
  • 约束
  • 索引
  • 事务
  • 设计数据库表
  • 性能优化

开发框架

JAVA Web

  • 介绍:Java Web开发是使用Java技术构建Web应用程序的过程。这些应用程序可以运行在Web服务器上,与浏览器进行交互,并提供各种在线服务和功能.
  • 前端基础
  • XML
  • JSON
  • Servlet
  • Filter
  • Listener
  • JSP
  • JSTL
  • Cookie
  • Session

Spring 5

  • 介绍 :是一个用于构建Java企业级应用程序的开源框架。Spring提供了一种轻量级的、非侵入式的开发方式,使得Java应用程序的开发更加容易、灵活和可维护.
  • IOC
  • AOP
  • 事务

Spring MVC

  • 介绍:是Spring框架的一个子项目,用于构建基于Java的Web应用程序。它是一种经典的MVC架构模式的实现,旨在简化Web应用程序的开发,提供一种高度可定制的方式来构建Web应用程序.
  • 什么是MVC
  • 请求与响应
  • RestfulApi
  • 拦截器
  • 配置
  • 执行过程

MyBatis

  • 介绍:数据访问框架,操作数据库进行增删改查等操作
  • 增删改查
  • 全局配置
  • 动态SQL
  • 缓存
  • 和其他框架的整合
  • 逆向工程

MyBatis Plus

  • 介绍 :MyBatis增强工具,能够简化开发、提高效率
  • 通用CURD
  • 条件构造器
  • 代码生成器
  • 插件扩展
  • 自定义全局操作

SpringBoot 2

  • 介绍: 简化Spring应用的初始化搭建及开发过程,提高开发效率
  • 常用注解
  • 资源整合
  • 高级特性
  • 本地热部署

Spring Security

  • Spring的安全管理框架
  • 用户认证
  • 权限管理

Maven/Gradle

  • 介绍:项目管理工具
  • 构建
  • 依赖管理
  • 插件
  • 配置

Git

  • 介绍:学习Git是成为一名优秀的开发者所必需的技能之一。以下是一个系统的Git学习路线,可以帮助你逐步掌握Git的基本概念和高级用法:

  • 初级阶段:

    • 安装Git
    • 配置Git
    • 创建仓库
    • 基本命令
    • 分支管理
  • 中级阶段

    • 远程仓库
    • 解决冲突
    • 标签管理
    • 配置别名
    • Git工作流
  • 高级阶段

    • 深入理解Git对象模型
    • Hooks和自定义脚本
    • Git内部命令
    • 版本控制最佳实践
    • Git可视化工具
    • 持续集成和持续部署(CI/CD)
    • Git书籍和课程

Linux

  • 介绍:学习Linux是成为一名优秀的系统管理员、开发者或者普通用户的关键技能之一。以下是一个系统的Linux学习路线,可以帮助你逐步掌握Linux操作系统:

  • 初级阶段:

    • 了解Linux
    • 安装Linux
    • 基本命令行操作
    • 用户和权限
    • 包管理系统
  • 中级阶段

    • 文件系统
    • Shell脚本编程
    • 进程管理
    • 网络配置和管理
    • 系统日志
  • 高级阶段

    • 用户和组管理
    • 磁盘管理
    • 远程管理
    • 安全和防火墙
    • 自动化和脚本
    • 容器技术
    • 虚拟化
    • 监控和性能调优
    • 学习Linux命令行工具

JAVA企业级开发

设计模式

  • 介绍: 设计模式是一套被广泛接受和使用的最佳实践,用于解决在软件设计中常见的问题。它们是经过多年的经验总结和验证的,可以帮助开发人员编写可维护、可扩展和可重用的代码。在Java中,有许多常见的设计模式,以下是一些常见的设计模式及其简要介绍:

  • 单例模式(Singleton Pattern)

    • 单例模式确保一个类只有一个实例,并提供一个全局访问点。这对于管理共享资源(如数据库连接、日志记录器等)非常有用
  • 工厂模式(Factory Pattern)

    • 工厂模式定义了一个创建对象的接口,但将对象的具体实例化延迟到子类中。它有助于实现对象的多态性
  • 抽象工厂模式(Abstract Factory Pattern)

    • 抽象工厂模式提供了一种创建一系列相关或依赖对象的方法,而不需要指定具体类。它有助于创建一组相关的对象
  • 建造者模式(Builder Pattern)

    • 建造者模式用于创建一个复杂对象,允许你按步骤构建对象,而不是在一个步骤中创建所有属性
  • 原型模式(Prototype Pattern)

    • 原型模式用于复制或克隆对象,以避免直接实例化对象。这对于创建具有相似属性的新对象非常有用
  • 适配器模式(Adapter Pattern)

    • 适配器模式用于允许两个不兼容的接口之间进行通信。它允许一个类将其接口转换为另一个类的接口
  • 装饰器模式(Decorator Pattern)

    • 装饰器模式允许你在不改变对象接口的情况下动态地添加新的行为或责任。它是一种扩展对象功能的灵活方式
  • 观察者模式(Observer Pattern)

    • 观察者模式定义了一种对象之间的一对多依赖关系,当一个对象的状态发生变化时,它的所有依赖对象都会收到通知并自动更新
  • 策略模式(Strategy Pattern)

    • 策略模式定义了一系列算法,并将它们封装在独立的策略对象中。客户端可以根据需要切换策略,而不需要修改代码
  • 模板方法模式(Template Method Pattern)

    • 模板方法模式定义了一个算法的框架,将一些步骤延迟到子类中实现。它允许子类自定义算法的某些部分。
  • 状态模式(State Pattern)
    状态模式允许一个对象在内部状态发生改变时改变其行为。它将状态封装在不同的状态类中,使得对象的状态变化更加灵活。

  • 命令模式(Command Pattern)

    • 命令模式将一个请求封装成一个对象,允许你参数化客户端对象的操作。它也支持撤销操作和队列请求。
  • 责任链模式(Chain of Responsibility Pattern)

    • 责任链模式创建了一个对象链,每个对象可以决定是否处理请求,或将请求传递给下一个对象。它用于解耦发送者和接收者。
  • 迭代器模式(Iterator Pattern)

    • 迭代器模式提供了一种顺序访问集合对象元素的方法,而不需要暴露集合的内部表示。

中间件

  • 介绍:在Java应用开发中,中间件是一类软件组件或服务,它们位于应用程序和操作系统之间,提供了一些通用的功能和服务,以便更轻松地构建、部署和管理分布式应用程序。Java中间件通常用于处理分布式计算、事务处理、消息传递、安全性和性能优化等方面。以下是一些常见的Java中间件:

  • 应用服务器

    • Java EE(Java Platform, Enterprise Edition)应用服务器,如Apache Tomcat、WildFly(以前称为JBoss)、IBM WebSphere、Oracle WebLogic等,提供了用于构建和运行企业级Java应用程序的平台。它们支持Java EE规范,包括Servlet、JSP、EJB、JMS等
  • 消息中间件

    • Java消息服务(Java Message Service,JMS)是Java平台的消息传递标准。JMS消息中间件,如Apache ActiveMQ、RabbitMQ和IBM MQ,用于在分布式系统中进行异步通信,支持消息的发布和订阅。
  • 分布式缓存

    • 分布式缓存中间件如Ehcache、Hazelcast、Redis和Apache Ignite用于存储和管理应用程序数据的缓存,以提高性能和可扩展性。
  • RPC框架

    • 远程过程调用(Remote Procedure Call,RPC)框架如Apache Thrift、gRPC和Apache Dubbo允许不同的Java应用程序在分布式环境中进行通信,以调用远程服务或方法。
  • 数据访问中间件

    • 数据访问中间件如Hibernate和Apache OJB提供了一种将Java应用程序与不同的数据库系统进行交互的方式,同时屏蔽了数据库特定的细节。
  • Web服务框架

    • Web服务中间件如Apache Axis2和Spring Web Services用于创建和管理基于Web服务的应用程序,支持SOAP和RESTful Web服务。
  • 容器和编排工具

    • 容器和编排中间件如Docker、Kubernetes和Apache Mesos用于构建、部署和管理容器化的Java应用程序,以实现跨多个主机的自动化容器编排。
  • 事务管理

    • Java事务服务如Java Transaction API(JTA)和Java Transaction Service(JTS)用于管理分布式事务,确保多个资源的协同工作和一致性。
  • 安全中间件

    • 安全中间件如Spring Security和Apache Shiro提供了身份验证和授权机制,以保护Java应用程序免受未经授权的访问。
  • 性能调优工具

    • 性能调优中间件如Java Management Extensions(JMX)和性能监视工具(如AppDynamics和New Relic)用于监控和调优Java应用程序的性能。

微服务

  • 介绍: 微服务架构是一种软件架构模式,它将一个大型应用程序拆分为一组小型、独立的服务,每个服务都可以独立开发、部署和维护。这些服务通过API进行通信,并可以运行在不同的进程甚至是不同的服务器上
  • 架构演进
  • 单体架构
  • 垂直架构
  • 分布式架构
  • SOA架构
  • 微服务架构
  • Spring Cloud
  • 学习路线

容器

  • 介绍:将应用和环境进行封装,相互隔离、独立部署、便于移植,提高安全性、提高开发和维护效率。便于实现微服务、持续集成和交付
  • Docker
    • 容器概念
    • 镜像
    • 部署服务
    • Docerfile
  • K8S(Kubernetes)
    • 架构
    • 部署应用
    • 暴漏服务
    • 动态扩缩容