redis
Redis官方文档:https://redis.io/docs/latest/develop/get-started/
Redis 可作为缓存、非关系数据库、流处理引擎、消息代理等多种用途中间件
中间件:后端认为,所有的docker run 能跑起来为我们服务的软件都可以叫中间件
中间件:特指数据库[存数据的仓库];(MySQL、Redis、MongoDB、ElasticSearch、RabbitMQ、Minio)
缓存:是一种机制;加速系统数据访问;提前把数据放到离自己最近的地方
**MySQL 也有缓存**;
mysql为了查数据快,查过的数据可以放到内存中 buffer pool,以后再用,不用查,去内存拿
**Docker Build 也有缓存**;公共的镜像层,之前下载了,拿来直接用,不用重新下载
放到磁盘文件
**CPU 也有缓存**;CPU 执行指令的时候,本来找内存要数据,但是太慢了,消息总线把数据提前放到CPU的缓存中,CPU直接用,不用找内存要
跟CPU焊在一起的寄存器
快递也有缓存:我们不能去商家那里提货吧,太远了。快递员把快递小区楼下,直接去 ...
docker
前序没有Docker的时代,Linux上安装配置环境,是一个恶梦; 比如安装Tomcat;
安装Java环境https://jdk.java.net/archive/
#下载jdk17wget https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz#解压tar -xzvf jdk-17_linux-x64_bin.tar.gz#移动到指定位置; 记住全路径: /usr/local/jdk-17.0.7mv jdk-17.0.7 /opt/#配置环境变量 /opt/jdk-17.0.2vim /etc/profile#在最后加入下面配置,注意修改 JAVA_HOME位置为你自己的位置export JAVA_HOME=/opt/jdk-17.0.2export PATH=$JAVA_HOME/bin:$PATH#使环境变量生效source /etc/profile#验证安装成功java -version
安装Tomca ...
mybatisplus
入门环境准备创建好 SpringBoot + MyBatis 原生项目
准备好一个数据库,及测试数据表;如 user 表
DROP TABLE IF EXISTS `user`;CREATE TABLE `user`( id BIGINT NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (id));INSERT INTO `user` (id, name, age, email) VALUES(1, 'Jone', 18, 'test1@baomidou.com'),(2, 'Jack', 20, 'test2 ...
springboot
**SpringBoot **允许我们用最简单的方式,快速整合所有技术栈;
**SpringBoot**就像是我们以前SSM框架的框架。帮我们一键集成SSM等一系列框架的功能
快速入门核心特性SpringBoot 帮我们简单、快速地创建一个独立的、生产级别的 Spring 应用;
大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术
特性:
快速创建独立 Spring 应用
直接嵌入Tomcat、Jetty or Undertow
提供可选的 starter,简化应用整合
按需自动配置 Spring 以及 第三方库
提供生产级特性:如 监控指标、健康检查、外部化配置等
无代码生成、无xml; 都是基于自动配置技术
总结:
简化开发,简化配置,简化整合,简化部署,简化监控,简化运维
快速部署
pom.xml中引入打包插件
<build> <plugins> <plugin> <groupId>org.springframework.boot< ...
MyBatis
入门
官网:https://mybatis.org/
MyBatis是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
MyBatis不像 Hibernete等这些全自动框架,它把关键的SQL部分交给程序员自己编写,而不是自动生成
HelloWorld创建项目准备数据库环境(helloworld.sql)CREATE DATABASE `mybatis-example`;USE `mybatis-example`;CREATE TABLE `t_emp`( id INT AUTO_INCREMENT, emp_name CHAR(100), age INT, emp_salary DOUBLE(10,5), PRIMARY KEY(id));INSERT INTO `t_emp`(emp_name,age,emp_salary) VALUES("tom",18,200.33);INSERT INTO `t_emp`(emp_name,age,emp_salary) VALUES("jerry",19,666.66) ...
springmvc
入门简介SpringMVC是一站式的web框架。他是Spring框架中的web模块;因为非常重要,所以我们一般独立出来称为 SpringMVC;
官网:https://docs.spring.io/spring-framework/reference/web/webmvc.html#mvc
SpringMVC 是 Spring 的 web 模块,用来开发Web应用
SprinMVC 应用最终作为 B/S、C/S 模式下的 Server 端
Web应用的核心就是 处理HTTP请求响应
开发模式回顾两种开发模式:
前后分离开发
SpringMVC提供常见注解:@RestController、@RequestMapping、@ResponseBody等
前端开发人员编写独立的前端项目
前端项目自己控制页面跳转逻辑
后端仅需返回前端需要的JSON数据
后端无需关心页面效果等问题
优点:分工明确,快速协同,专注用户体验
缺点:成本高,技术复杂,门槛高
前后不分离开发
后端开发人员要控制页面跳转逻辑(利用转发、重定向)
服务器要拿到业务数据,全部填充到页面,然后 ...
spring
SpringSpring是企业级一站式框架:
企业级:经过企业实战使用。稳定性高、可靠性强、扩展性好
一站式:一个框架就可以提供企业开发期间的所有解决方案
框架:众多通用功能逻辑的封装集合
广义的Spring: spring.io 提供的所有框架集合。
什么是框架框架(framework):
建筑学领域:用于承载一个系统必要功能的基础要素的集合
计算机领域:某特定领域系统的一组约定、标准、代码库以及工具的集合
框架与工具的区别:
框架:提供某个领域一系列的解决方案
工具:提供少量的常用小功能封装
可以认为:**框架 = 基础功能 + N多工具**
Spring Framework
Spring是一个 IOC(DI) 和 AOP 框架
Spring有很多优良特性
非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API
依赖注入:DI(Dependency Injection)是反转控制(IOC)最经典的实现
面向切面编程:Aspect Oriented Programming - AOP
容器:Spring是一个容器,包含并管理应用对象的生命周期
组件 ...
maven
Maven安装介绍Maven 是意第绪语,意思 是 知识的积累者,最初是为了简化 Jakarta Turbine 项目中的构建过程。
随着发展,成为了Java项目的项目构建和依赖管理工具;
学习Maven就是学习他的以下两个核心功能
项目构建:包含的核心环节有
项目创建、编译、测试、打包、部署、运行等过程
依赖管理:包含的核心功能有
项目关联jar包的下载、导入、冲突解决、依赖传递等
下载官网:https://maven.apache.org/
镜像加速maven 默认会从中央仓库下载项目依赖,比较慢,可以配置为国内 aliyun 等镜像源,方便快速下载
修改 conf/settings.xml ,搜索 mirrors 标签,替换为如下内容
<mirrors> <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central,jcenter</mirrorOf> <name>aliyun maven&l ...
Linux
文件目录文件Linux 系统中一切皆文件。
目录层级结构
/
根目录 - 整个文件系统的起点,所有其他目录都挂载在其下。
包含所有顶层目录(如 /bin, /etc, /home 等)。
/bin
二进制文件 - 存放所有用户必需的基本命令(可执行文件)。
ls, cp, mkdir, bash, cat, rm等。
/boot
引导文件 - 存放系统启动所需的文件(内核、引导加载程序配置)。
vmlinuz(内核), initramfs, grub/(GRUB 配置文件)
/dev
设备文件 - 存放代表硬件或虚拟设备的特殊文件。
sda(硬盘), ttyS0(串口), null, zero, random, usb等设备文件。
/etc
系统配置文件 - 存放系统和应用程序的全局配置文件。
passwd, group, hosts, fstab, apt/sources.list, nginx/等配置文件目录。
/home
用户主目录 - ...
git的使用
Git - 分布式版本控制什么是GitGit是一个分布式****版本控制系统。这听起来可能有点复杂,但让我们分解一下:
版本控制:就像给你的代码装上了时光机器。它会跟踪你做的所有更改。
分布式:它允许多个人在同一项目上工作,而不会相互干扰。
分布式与集中式集中式:
集中化的版本控制系统 (Centralized Version Control Systems,简称 CVCS****)
SVN:权限控制;比较安全; 开源系统
协同工作的人们都通过客户端 连到这台服务器,取出最新的文件或者提交更新。
分布式:
分布式版本控制系统(Distributed Version Control System****,简称 DVCS****)。
客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本 地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
安装访问下载页,https://git-scm.com/downloads
# 查看默认配置git con ...