MySQL

一、组成 二、一条更新语句怎么执行的 首先查询数据是否在内存中,如果在内存中则直接更新,如果不在内存中将数据加载到内存。每个内存页16K,更新后的内存称为脏页,需要在后续刷入磁盘 更新内存后,将物理修改(某字段改为某个值)写入到redolog中,此时redolog处于prepare状态,事务还没有提交 将逻辑修改(某字段进行了某些逻辑操作)写入binlog后,redolog才处于commit状态,

JVM

运行时数据区 栈的动态链接在 Class 文件中,方法调用以符号引用的形式存在于常量池。为了执行调用,这些符号引用必须被转换为内存中的直接引用。这个转换过程分为两种情况:对于静态方法、私有方法等在编译期就能确定版本的方法,这个转换在类加载的解析阶段就完成了,这称为静态解析。而对于需要根据对象实际类型才能确定具体实现的虚方法(这是实现多态的基础),这个转换过程则被推迟到程序运行期间,由动态链接来完成

Redis安装

Windows安装redis 下载地址:GitHub - MicrosoftArchive/redis下载zip文件 解压到目录 修改**redis.windows.conf**文件 12345678# 绑定监听 IP(默认 127.0.0.1,仅本地访问;若需远程访问改为 0.0.0.0,但不安全!)bind 127.0.0.1 # 监听端口(默认 6379,若被占用可修改为其他端

SPI

何谓SPI? SPI 即Service Provider Interface,服务提供者的接口,专门提供给服务提供者或者框架功能的开发者去使用的一个接口。很多框架都使用到了SPI,数据库加载驱动、日志接口等 SPI和API有什么区别 SPI 中的接口,是服务调用方设计接口规则,由实现方去实现接口。比如日志面板slf4j,具体日志框架是logback、log4j还是log4j2并不关心,slf4j

OSI模型

一、OSI七层模型 物理层(Physical Layer): ​ 物理层是网络通信的最底层,主要关注物理媒介和传输数据的硬件特性。 ​ 它定义了数据传输的物理介质,如电缆、光纤、无线电波等。 ​ 主要任务包括数据的编码、传输速率、电压水平等。 数据链路层(Data Link Layer): ​ 数据链路层负责将原始比特流组织成数据帧,并在物理介质上进行可靠的

建造者模式

从零开始学设计模式(五):建造者模式(Builder Pattern) - 墨天轮 定义: 在现实世界中的很多东西都是由很多组成部分构成的,比如房子它由砖头、水泥、石灰、钢筋等组成,即一个个简单的组成部分构成了一个复杂的房子。同样在软件系统中也存在很多复杂对象,而复杂对象的一些属性就相当于盖房子的材料,创建对象的过程就相当于盖房子的过程。由于组合部件的过程很复杂,因此,这些部件的组合过程往往被

Elasticsearch

性能优化filesystem-cachees的数据实际写入到了磁盘,但查询的时候会将数据缓存到filesystem-cache中,所以filesystem-cache的大小决定缓存数据量多少,间接决定了查询速录 数据预热将热点数据提前查询刷到filesystem-cache中 冷热分离将热点数据和冷数据进行分离存储在两个索引中,避免冷数据占用内存将热点数据挤占掉 分页性能优化深度分页非常影响性能,

SpringBootApplication

@SpringBootApplication@SpringBootApplication注解由@SpringBootConfiguration、@EnabaleAutoConfiguration、@ComponentScan注解组成 有一些属性需要解释一下 exclude:禁用不需要自动装配的类 scanBasePackages:主类不在组件根包时,显示指定base的扫描包路径 @Spr

动态代理

动态代理 Spring动态代理主要是通过cglib和jdk的动态代理实现. Aspectj是一个单独的AOP框架,在编译或运行时生成代理类,可以实现前置增强、环绕增强、后置增强等功能。平时开发可以引入Aspetcj依赖实现一系列代理操作 cglib动态代理 注意:jdk8以上版本对反射进行了限制,需要手动打开。VM参数添加:–add-opens java.base/java.lan

hexo图床搭建

背景hexo搭建的在线网站图片无法展示 主要流程 gihub操作 建立仓库,要求公开 获取token 下载picgo 下载https://molunerfinn.com/PicGo/ 安装后配置github图床,token从github获取 typora配置 打开偏好设置,配置自动上传图片