MySQL索引
...
MySQL8 窗口函数
MySQL8-窗口函数 为什么要使用窗口函数 MySQL 窗口函数是 8.0版本之后才推出的新特性,它相比于聚合函数,会有更好的性能(可以避免写一些子查询的sql语句,改为使用窗口函数、减少了扫描数据库的次数)。且语法简单,适合更复杂的查询。 从聚合函数说起 假设有一个销售额表(sales),他有字段(id,name,year,sale)。 12345678910111213141516171819-- 创建销售额表CREATE TABLE sales ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), year INT, sale DECIMAL(10,2));-- 插入示例数据INSERT INTO sales (name, year, sale) VALUES('Alice', 2021, 5000.00),('Bob', 2021, 7000.00),('Cindy', 2021,...
cron表达式
cron表达式 cron 表达式用于定义定时任务的执行时间规则。它由若干字段组成,不同系统略有差异(如 Linux crontab 与 Spring 的 cron 表达式),但核心思想相同:用数字和符号描述任务的周期性时间点。 一、标准格式(Linux) 共 5 个字段: 字段 含义 取值范围 1 分钟 (Minutes) 0–59 2 小时 (Hours) 0–23 3 日期 (Day of Month) 1–31 4 月份 (Month) 1–12 或 JAN–DEC 5 星期 (Day of Week) 0–7(0或7代表星期天) 示例: 123430 2 * * * # 每天凌晨2:30执行0 */6 * * * # 每6小时执行一次0 9-18 * * 1-5 # 周一至周五,9点到18点每小时执行一次15 10 15 * * # 每月15日10:15执行 二、Spring 或 Quartz 格式 共 6 或 7 个字段: 字段 含义 取值范围 1 秒...
docker中启动nacos
docker中启动nacos 操作流程 linux平台的操作流程见该博客(而且他的mysql数据库不是容器、如果是容器得先保证nacos和mysql同一个网络下) 拉取镜像 1docker pull nacos/nacos-server:v2.4.1 创建宿主机中的目录(windows演示) 12mkdir E:\develop_tools\Docker_data\nacos-2.4.1\nacos\logsmkdir E:\develop_tools\Docker_data\nacos-2.4.1\nacos\conf 首次启动nacos并复制文件到宿主机 由于首次启动时对nacos的配置没写好,所以肯定是启动失败的,这次启动只是为了得到他的logs和conf,使用宿主机的目录去映射(这样就可以通过修改宿主机中的配置更改nacos的配置) 123456789# 启动临时容器docker run -d --name nacos-temp -p 8848:8848 nacos/nacos-server:v2.4.1# 复制容器内文件到宿主机docker cp...
POJO、PO、DTO、VO、DAO、Entity、Model的区别
POJO、PO、DTO、VO、DAO、Entity、Model的区别 POJO 1234567pure old java object 简单的Java对象或者无规则简单java对象,但是和JavaBean的不同是没有业务逻辑一个中间对象,可以转化为PO、DTO、VO。1.POJO持久化之后-->PO2.POJO传输过程中-->DTO3.POJO用作表示层-->VOPO 和VO都应该属于它。 PO 12persistent object持久对象,可以用来对照数据库中的一条记录 DTO 123也叫TO,Data Transfer Object数据传输对象1.用在需要跨进程或远程传输时,它不应该包含业务逻辑。2.比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO...
wrk快速上手
wrk快速上手 1min看完就能上手! 一句话介绍:wrk 是一个现代化的 HTTP 基准测试工具,它能够在单核 CPU 上以较少的线程产生强大的负载。 说白了是一个简单易用的接口性能测试工具,对开发人员(非运维)来说上手成本低,几乎零学习成本。 另外wrk是在linux环境下使用的,所以windows平台测试使用的话使用docker。 Linux环境使用wrk 这种教程很多,例如性能测试工具wrk教程。 Docker中使用wrk 演示的宿主机为windows。 使用的容器仓库github地址。 加上--rm,用完即删,是因为这个容器仅仅用于临时的简单测试,不会占空间。 执行run语句时本地若无镜像则自动会pull。 12345docker run --rm ghcr.io/william-yeh/wrk # 首次运行测试docker run --rm ghcr.io/william-yeh/wrk -t<线程数> -c<并发量> -d<时间> --latency <接口地址> # 模板1 docker run --rm...
Docker快速上手
Docker快速上手 感谢b站视频教程,以下为文字梳理版。 Docker 简介 what is it? Docker是一个用于构建(build)、运行(run)、传送(share) 应用程序的平台。 why we need it? 简化环境配置,相同的环境不用多次配置。例如前端Vue、后端SpringBoot、数据库MySQL的一个项目,你需要安装NodeJS环境、安装各种npm依赖、安装Java运行时环境、安装各种第三方依赖(maven)、安装MySQL数据库、Vue环境配置+启动脚本、安装配置Redis、安装配置Nginx……等 而这样的操作不仅开发环境需要配置一遍、生产环境、测试环境都要配置一遍。而Docker就是将这些环境打包好后,之后都可以使用。 Docker vs 虚拟机 虚拟机: Docker: Docker与虚拟机不同,每个容器共用一个操作系统,因此启动速度更快、更加轻量。 Docker...
Manacher算法
Manacher算法 该算法用于解决“最长回文子串”的问题 例题:5. 最长回文子串 暴力来解题的话,一般时间复杂度是$O(n^2)$,使用中心扩展法或者二维动态规划 而Manacher算法能$以O(n)$的时间复杂度来解决这个问题。 以下撰写内容参考自灵神b站视频讲解,感谢灵神! 为什么Manacher算法有这种魔力呢?关键在于它能**$O(1)$地判断任意子串是否回文** 比如: 说明:每个字母下方数字表示以该字母为中心,所能得到的最长回文子串的长度,假设目前已经拿到了这些值,那么如何$O(1)$地向下判断剩余的字母(以他们为中心)呢? 比如如下红色框选了c b a b c ,那么这个子串的中心就是a,而a的长度是11(蓝色框),显然这个红色框是在蓝色框之内的,要是依次把红色框之外、蓝色框之内的d、a、b去掉,得到的c b a b...
JVM学习笔记--初版大杂烩
Java程序员拥有JVM自动管理,但是,自由是存在代价的——为了不让内存处理不当成为系统性能的瓶颈,我们仍需要学习JVM相关知识,掌握其内存结构、清楚类加载机制、了解常见GC算法、学会GC调优。
汇编语言
汇编语言 寄存器 对于8086、8088或80286,阴影区域是不可用的 FS和GS寄存器无专用名称 通用寄存器 数据寄存器:AX(accumulator)、BX(base)、CX(count)、DX(data) 指针寄存器:SP(stack pointer)、BP(base pointer) 变址寄存器:DI(destination index)、SI(source index) 控制寄存器 IP(instruction pointer)、FLAGS 段寄存器 CS(code segment)、DS(data segment)、ES(extra segment)、SS(stack...









