背景介绍 容器技术的起源 假如我们正在开发一个名叫"谁是小黑子"的应用,程序员自己从头到尾搭建了一套环境开始写代码,写完代码后程序员要把代码交给测试同学测试,这时测试同学开始从头到尾搭建这套环境,测试同学测完后终于可以上线了,这时运维同学又要重新从头到尾搭建这套环境,费了九牛二虎之力搭建好环境开始上线,糟糕,上线系统就崩溃了。 imag…
Linux 介绍 Linux操作系统,被称之为类Unix操作系统,因此,要了解Linux的诞生就得先了解Unix操作系统 1. 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电⽓公司联合发起,目标是开发⼀种交互 式的、具有多道程序处理能⼒的分时操作系统,以取代当时⼴泛使用的批处理操作系统。 2. 在此期间,…
SpringBoot概述 为什么需要SpringBoot 传统Spring开发的痛点: 痛点说明SpringBoot解决方案配置地狱需要大量配置类注册组件自动配置版本冲突依赖版本管理复杂Parent统一管理部署繁琐需打包war + 外部Tomcat内嵌Tomcat,java -jar启动 核心思想:约定大于配置 ┌─────────────────…
SpringMVC 介绍 什么是 SpringMVC SpringMVC 是 Spring 框架提供的 Web MVC 解决方案。它并不是抛弃 Servlet,而是建立在 Servlet 之上,通过一个统一的前端控制器接收请求,再把请求分发到具体的方法上处理。 和手写 Servlet 相比,SpringMVC 的核心价值不是“少写代码”这么简单,而…
Spring整合MyBatis 引入依赖 <dependencies> <!-- Spring 6.x 对应使用 MyBatis-Spring 3.0.x --> <dependency> <groupId>org.mybatis</groupId> <artifactId>m…
AOP概述 什么是AOP AOP(Aspect-oriented Programming) 是面向切面编程,它补充了OOP(面向对象编程)的不足: 特性OOPAOP基本单元类(Class)切面(Aspect)关注点纵向业务逻辑横向公共逻辑解决问题业务模块化横切关注点分离 为什么需要AOP 想象一个场景:多个Service方法都需要记录日志…
设计模式简介 什么是设计模式 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式代表了最佳的实践,通常被有经验的软件开发人员所使用。 大白话理解:设计模式是前人总结的一套经验。按照前人总结的经验去设计架构、编写代码,有很多好处: ✅ 后期可维护性强 - 代码结构清晰,易于理解和修改 ✅&nbs…
什么是反射 反射(Reflection) 是一种在运行时(Runtime) 动态分析、检查和操作类、方法、字段、构造方法等程序结构的能力。 通俗来说,通过Java中的反射机制,可以程序运行期间,在不知道具体类或者对象的情况下,通过该类的字节码对象,动态加载类、创建对象、调用方法、访问字段,甚至是修改私有成员。 反射提供了一种全新的创建对象,调用方法…
Git介绍 Git 是由 Linus Torvalds(Linux之父)开发的第二个伟大作品。2005年,由于BitKeeper软件公司对Linux社区停止了免费使用权,Linus迫不得已自己开发了一个分布式版本控制工具。据说Linus花了两周时间用C语言写了一个分布式版本控制系统,这就是Git。一个月之内,Linux系统的源码已经由Git管理了。…