- 博客(23)
- 收藏
- 关注
原创 秒级到毫秒级的跨越—一次慢SQL优化历险
记录公司系统中一次慢SQL优化过程,涉及的内容有 RPC 调用的抽取,数据的同步,索引的分析与设计,分页查询涉及到的问题。
2024-02-18 20:53:08
1103
原创 MySQL 插入10万条数据性能分析
笔者想复现一个索引失效的场景,故需要一定规模的数据作支撑,所以需要向数据库中插入大约一百万条数据。那问题就来了,我们应该怎样插入才能使插入的速度最快呢?为了更加贴合实际,下面的演示只考虑使用 Mybaits 作为 ORM 框架的情况,不使用原生的 JDBC。下面,我们只向数据库中插入十万条数据作为演示。
2024-02-17 13:46:17
2955
1
原创 Synchronized 锁升级原理分析
本文介绍了Java中的synchronize关键字的底层实现机制。通过分析锁的获取和释放过程、内置锁和监视器的关系以及锁优化技术,深入解析了synchronize在多线程环境中的工作原理。
2024-02-14 17:21:00
1002
1
原创 基于MySQL与Redis扣减库存的方式
decrement:追求简单快速实现,不考虑 Redis 库存中的准确性;LUA 脚本:追求 Redis 中库存的准确性,在 Redis 层面上要进行多重的条件判断Lock:追求 Redis 中库存的准确性,在分布式环境中要考虑 LUA + Lock 的结合。
2024-02-01 23:04:38
1213
3
原创 IDEA 连接远程服务器简化部署流程
笔者每次上线部署应用,都要使用第三方的客户端连接工具,比如 Xshell,FinalShell,Terminus 等。基本的部署步骤是打包后的 Jar 包或者 dist 目录(前端)和 Dockerfile 文件通过第三方客户端连接工具上传到服务器上,及其繁琐!基于这个原因,笔者今天探索通过 IDEA 连接远程服务器并上传文件。
2024-01-29 22:07:09
666
原创 kaptcha:点击修改二维码
kaptcha:点击修改二维码只需修改对应防止二维码标签的src即可<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"> <title>Title</title></head><body><h1>cookie加载成功</h1&g
2022-03-13 13:46:15
408
原创 HashSet 的add()方法调用resize()的时机
HashSet 的add()方法调用resize()的时机当table表的个数即size,大于阈值 threshold 的时候调用;当某条链表的个数 大于等于 TREEIFY_THRESHOLD(即8) 且 table表的个数 小于 MIN_TREEIFY_CAPACITY(即64 )时调用;...
2022-02-14 14:31:05
366
原创 Linux常见命令(如何运行C/C++程序、gdb调试)
一. Linux主要目录:/: 为根目录 (/home: 先到达根目录,在到home目录);/bin:可执行文件的目录,如常用命令ls、tar、mv、cat等;/etc:系统配置文件存放的目录,不建议存放可执行文件;/home:系统默认的家目录~表示当前的家目录 == /home/ezreal~edu表示用户edu的家目录二. Linux文件特点与格式Linux文件或者**目录(文件夹)**名称最长有256个字符以 . 开头的文件为隐藏文件,需要用ls命令用参数**-a*
2021-09-11 15:57:13
568
原创 快速排序的优化
快速排序的优化1. 优化枢轴的选取: 我们在快速排序中,我们选择的枢轴应该位于整个数组的中间位置,这样可以让数组一次性移动较多的数目,提高快速排序的效率;但是如果我们选择的枢轴是整个数组的最大值或者最小值,那么每次进行快速排序只能移动一个元素,大大降低了快速排序的速度,与冒泡排序的速度相差无几; 所以我们优化快速排序,可以是优化枢轴的选取。 (1)三数取中法: 即选取三个关键字进行排序,将中间数作
2021-08-21 17:15:53
1660
原创 数据结构B树:入门理解和性质总结(笔记)
2-3树1. 定义2-3树是一种多路查找树:其中的每一个结点都具有两个孩子(称为2结点)或三三个孩子(称为3结点)。一个2结点包含一个元素和两个孩子(或没有孩子);一个3结点包含两个元素和三个孩子(或没有孩子);...
2021-08-20 18:39:30
1320
原创 链表反转的四种方法(栈、头插法、三指针法、递归法)
单链表反转或转置的四种方法链表的反转实质上是反转链表上的内容:若链表存储的数据是:1->2->3->4->5;那么反转后则是:5->4->3->2->1;下面来介绍链表反转的4种方法:(数据用1->2->3来表示,反转后则是3->2->1)1.通过栈来实现总体思路是:1.先让链表中的内容依次进栈,用栈记录链表中的内容2.接着依次出栈,更新链表中的数据即可3.这种方法的思路简答,易于理解,但空间复杂度为O(n),时间复
2021-08-14 18:09:20
14095
7
原创 学生信息管理系统(复制即可使用)—— C语言版—— 顺序表实现
0. 查询当前顺序表的长度。1. 创建顺序表。2. 输入学生信息。3. 显示学生的信息。4. 根据学生名字查找信息。5. 根据学生等级查找信息。6. 添加学生的信息。7. 删除某个学生的信息。代码实现:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdlib.h>#define MAXSIZE 100typedef struct //* 定义
2021-05-28 16:09:46
3337
原创 计算不确定度(C语言-大物实验)-复制即可使用
计算不确定度(大物实验)1、计算数据的平均数a.先输入计算的数据(代码中默认为6个,如有需要自行改动)b.注意单位要自行统一2、计算A类不确定度3、计算B类不确定度a.输入相应仪器的分度值4、计算不确定度5、计算相对不确定度a.完成后要按照规则保留相应的位数(代码中默认保留五位)完整代码(复制即可使用)#include <stdio.h>#include <math.h>int main(){ int i; double aver; //
2021-04-03 17:24:00
10381
7
原创 串与队列的应用(C语言)
串与队列的应用用KMP算法查找子串在主串中出现的位置与次数,用队列来储存出现的位置与次数并将它们储存在文件中#include <stdio.h>#include <string.h>#define OK 1#define ERROR -1#define MAXSIZE 200char *s_gets(char *st, int n)//构造一个去除换行符的输入方法{ char *find; char *ret_val; ret_val = fg
2021-04-03 11:59:11
176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人