努力攻坚操作系统
码龄4年
关注
提问 私信
  • 博客:47,803
    问答:606
    48,409
    总访问量
  • 30
    原创
  • 89,452
    排名
  • 25
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:纸上得来终觉浅,绝知此事要躬行。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2020-12-30
博客简介:

m0_54123999的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    349
    当月
    2
个人成就
  • 获得116次点赞
  • 内容获得13次评论
  • 获得256次收藏
  • 代码片获得689次分享
创作历程
  • 2篇
    2024年
  • 4篇
    2023年
  • 15篇
    2022年
  • 15篇
    2021年
成就勋章
TA的专栏
  • 算法
    15篇
  • web技术学习笔记
  • java学习笔记
  • mysql数据库学习
    5篇
  • 操作系统和linux学习
    2篇
  • 笔记
    7篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

179人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Mysql的insert批量插入性能问题

同时分批插入也有数据一致性风险,如果在批次中途出现失败,部分数据可能已经插入,而部分数据可能未插入,需要额外处理数据一致性;当需要往数据库插入大量数据是,一条一条插入会导致插入时间长,性能不佳,所以我们一般会进行insert批量插入,一次性插入较大批次的数据,而不是每条记录单独插入,这通常会提高性能,因为批量操作减少了上下文切换和 SQL 解析的开销。事务期间,所有涉及的表或行会被锁定(根据具体的存储引擎),可能会导致更长时间的锁定,从而影响系统的并发性能,且资源占用高,大事务可能会占用较多的数据库资源。
原创
发布博客 2024.07.17 ·
456 阅读 ·
3 点赞 ·
2 评论 ·
5 收藏

清理本地Maven仓库

当maven项目的pom文件爆红时,可能是下载依赖jar包中途失败,导致jar包下载不完整,此时可以使用以下命令来对仓库中的依赖删除后重新下载。
转载
发布博客 2024.01.17 ·
1052 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

MySQL数据库upsert使用

并附带自己的一些理解和使用经验.
原创
发布博客 2023.09.16 ·
4482 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

有效用户id、实际用户id

用于系统决定用户对系统资源的权限,也就是说当用户做任何一个操作时,最终看它有没有权限,都是在判断有效用户ID是否有权限。在正常的情况下,一个用户登录之后(假设是A用户),A用户的有效用户ID和实际用户ID是相同的,但是如果A用户在某些场景中想要执行一些特权操作,能顺利的执行吗?这里的A用户想要执行的是特权操作,A用户没有这个权限,所以A用户就只能通过一定的手段来修改当前的有效用户ID使其具有执行特权操作的权限。用于标识一个系统中用户是谁,一般是在登录之后,就被唯一的确定,就是登录的用户的uid。
转载
发布博客 2023.04.23 ·
522 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++模板特化与部分特化(偏特化)

上述特化即表示当类型为int时,有一套和其他类型不同的处理方案,而除int以外的其他类型则由上面的泛化模板生成定义。模板即是对类型的一种泛化,当我们的模板对某种特定类型有特定的实现时,模板特化即是一个很好的解决方案。除了全部特化,模板还可以部分特化,而部分特化又可分为个数部分特化和范围部分特化。1.个数部分特化(模板参数的个数)
原创
发布博客 2023.03.22 ·
276 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

格雷码的生成与解码

证明:已有n-1位格雷码序列,则可知n-1位格雷码序列逆序也满足相邻代码只有一位不同,且首尾相连,对逆序的所有代码左端补1不改变上述性质,将两段代码相接后连接处的两个代码只有最高位不同,首尾代码也只有最高位不同,所以得到的是n位格雷码。对n位二进制的码字,从右到左,以0到n-1编号,如果二进制码字的第i位和i+1位相同,则对应的格雷码的第i位为0,否则为1(当i+1=n时,二进制码字的第n位被认为是0,即第n-1位不变)通过观察或者推理都可以得出,格雷码的最高位和自然二进制码的最高位是相同的。
原创
发布博客 2023.02.25 ·
4833 阅读 ·
6 点赞 ·
0 评论 ·
29 收藏

素数筛(埃氏筛、欧拉筛)

那么对于任意的i>2,当我们遍历到i时,则我们一定先遍历了[2,i-1]之间的所有数,若isprime[i]为false,则证明i不是[2,i-1]中任意素数的倍数,即i只能被1和它自身整除,所以i为素数。若x∈[2,i-1],则x*i一定已经被标记为合数了,因为在遍历到i之前,我们一定已经遍历过x了,若x的最小质因数为k,k*y==x,则x的i倍即k的i*y倍若小于n则一定已经被标记过了。那么问题来了,如果我给你一个数字n,让你判断有多少个小于n的素数,...
原创
发布博客 2022.08.02 ·
4541 阅读 ·
12 点赞 ·
3 评论 ·
39 收藏

欧拉路径与DeBruijn序列

最近在力扣上刷题时看到了这道题:力扣 ,这是一道欧拉路径与DeBruijn序列结合的题目,非常有趣,欧拉路径以前在离散数学中学过,但DeBruijn序列确实是第一次见,所以我特地去查了一些资料,写这篇博客主要是为了巩固欧拉路径的知识,并加深对DeBruijn序列的理解(DeBruijn序列是一个非常神奇的东西,在很多领域都有广泛的应用)。如有错误,欢迎指正。一些定义:欧拉通路:通过图中每条边且行遍所有顶点的迹(每条边恰一次的途径),称为欧拉通路。半欧拉图:具有欧拉通路但不具有欧拉回路的图称为半欧拉图,有且仅
原创
发布博客 2022.06.14 ·
817 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

凸包算法详解

一些废话:写这篇博客是因为在听算法网课老师讲分治的时候提到过分治法求凸包的问题,当时没怎么听懂也没太在意这个(因为老师只是提了一嘴,没有细讲),结果好巧不巧,第二天力扣的每日一题就是凸包问题,题目在这:力扣然后就想着好好学一下凸包算法,但因为我比较懒。。。立了计划后给这篇博客起了个头就没管了,直到几乎20天后,力扣的每日一题又又又有一题可以用凸包做,题目:力扣所以我特意抽出一个下午好好看了一下各种凸包算法,写下了这篇博客。注:一下算法均围绕力扣题目 587.安装栅栏 来讨论前置知识:设平
原创
发布博客 2022.06.04 ·
4560 阅读 ·
24 点赞 ·
3 评论 ·
64 收藏

一般性选择问题(在N个数中选第K大或第K小)

问题:选第k小.输入:数组S,S的长度n,正整数k(1 <= k <= n).输出:第k小的数.算法1:调用k次选最小算法,时间复杂度O(kn)算法2:先排序,然后输出第k小的数,时间复杂度O(nlogn)算法3:分治算法下面我们来讨论算法3.设计思想(假设数组中数据无重复):用数组S中的某个元素m做标准将S划分成S1与S2,其中S1中的元素小于m,S2中的元素大于等于m 如果k <= |S1|,则在S1中找第k小。如果k == |S1| + 1,则m
原创
发布博客 2022.04.24 ·
1289 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

分治法的应用--平面点对最小距离问题

问题描述:一个二维平面内有一些随机分布的点,求这些点之间距离最短的两个点。(问题和图片均出自于清华大学网课)看到这个问题首先想到的应该是暴力解法,即对于每个点,遍历其他所有点求距离。把平面中任意两点的距离都求出来后,取其中的最小值。但是这个算法的时间复杂度为O(n^2),当数据量较大时是无法接受的。于是我们想到了分治法,可不可以将问题化简为求几个规模减小的子问题呢,答案是可以的,我们可以根据平面中的点的x坐标或y坐标将它们分为数目大致相等的两部分。这里我们以x坐标举例,如图:我们可以在分治之
原创
发布博客 2022.04.16 ·
3931 阅读 ·
12 点赞 ·
0 评论 ·
46 收藏

算法--树状数组

引入问题:力扣题目给出一个长度为n的数组,完成以下两种操作多次:1、将下标为index的元素的值加上k(k可以是正数也可以是负数)2、输出区间[left, right]内所有元素的和(包含边界)朴素算法:对区间的元素累加求和,复杂度O(n^2),单点修改复杂度O(1),区间查询复杂度O(n)前缀和:复杂度O(n^2),单点修改复杂度O(n),因为修改完数组值后还要修改前缀树组的值,区间查询复杂度O(1)可以看出以上两种方法时间复杂度都比较高,而用树状数组可以有效的降低时间复杂度。树状数.
原创
发布博客 2022.04.04 ·
329 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

mysql--游标

游标是用来存储查询结果集的数据类型,在存储过程和函数中可以使用游标对结果集进行循环的处理。游标的使用包括游标的声明、OPEN、FETCH和CLOSE,其语法分别如下:注意:游标的声明应在普通局部变量之后(即先将要用的局部变量声明完后在声明游标)对应课程...
原创
发布博客 2022.04.03 ·
919 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

MYSQL--变量

MYSQL中的变量分为三类,系统变量、用户自定义变量、局部变量。一、系统变量系统变量是mysql服务器提供,不是用户定义的,属于服务器层面。分为全局变量(GLOBAL)、会话变量(SESSION)。(全局变量在全局范围内可用,即所有会话下都可用,会话变量在当前会话可用,一个会话即为mysql中打开的一个窗口)若未指定变量是全局变量还是会话变量,则默认为会话变量。不管你对系统变量做了什么修改,在mysql服务器重新启动后,所有的系统变量都会恢复默认值,要想永久修改,需要更改配置文件。二
原创
发布博客 2022.04.03 ·
3322 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

mysql--存储过程和函数

一、什么是存储过程和函数存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程和函数的区别在于函数必须要有返回值,而存储过程没有,存储过程的参数可以使用IN、OUT、INOUT类型(其中OUT和INOUT类型的参数可充当返回值),而函数的参数只能是IN类型的。如果有函数从其他类型的数据库迁移到MYSQL,那么就可能因此需要将函数改造成存储过程。二、创建
原创
发布博客 2022.04.03 ·
311 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SQL--DDL语法

一、DDL数据库操作DDL-数据库操作查询:查询所有数据库(返回该连接下所有数据库的名称):SHOW DATABASES;查询当前数据库(返回当前数据库名称):SELECT DATABASE();--本质是一个函数调用创建:CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];删除:DROP DATABASE [IF EXISTS] 数据库名;使用 :...
原创
发布博客 2022.04.01 ·
796 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

关于聚集索引

此文为观看黑马程序员课程的一些理解和笔记一、索引的分类在InnoDB中根据索引的存储形式,又可分为以下几种:聚集索引:将数据存储与索引放到一块,索引结构的叶子结点保存了行数据,聚集索引有且仅有一个(即使你在建表时不显式指定创建聚集索引,系统也会在底层帮你创建) 二级索引:将数据与索引分开存储,索引结构的叶子结点关联的是用于聚集索引的列值(大部分情况下,该关联值为主键,因为聚集索引默认为使用主键创建二、聚集索引选取规则如果存在主键,主键索引就是聚集索引。 如果不存在主键,将使用第一个
原创
发布博客 2022.03.30 ·
2066 阅读 ·
4 点赞 ·
0 评论 ·
1 收藏

双线程线程互斥--Peterson算法

(本文是笔者在看jyy操作系统P4后做的笔记)Peterson算法是一个实现互斥锁的并发程序设计算法,可以控制两个线程访问一个共享的单用户资源而不发生访问冲突。Peterson算法的本质是一种谦让模式,当两个线程的其中一个想进入临界区时,先观察一下另一个是否也想进入临界区,如果是,则让另一线程先进。实现方式:每个线程都拥有一个旗帜,表示他们是否想进入临界区(在即将进入临界区前,则会举起旗帜,在临界区结束后应放下旗帜) 临界区上有一个代表允许进入的线程的标识,当两个线程都想进入临界区时,标识
原创
发布博客 2022.02.13 ·
1207 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Linux下文件的压缩和解压缩

声明:本文是我在B站看苏丙温老师的课程时做的一些总结参考资源1:Linux压缩打包命令——tar、zip、unzip_绮梦寒宵的博客-CSDN博客_linux 压缩命令参考资源2:压缩命令 | 爱编程的大丙压缩文件的格式包含:.tar.gz | .tgz | .tar.bz2 | .zip | .rar | .tar.xz上面压缩文件的后缀其实没有什么特殊的意义,仅仅代表了文件是用什么方式(即什么工具)压缩的,方便日后你需要解压或者别人需要解压时来用对应的方法解压。一、使用tar工具压缩
原创
发布博客 2022.01.19 ·
1061 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C语言调用汇编

程序的入口是main,在main里调用汇编的函数。首先要解决怎么定义函数的问题在C语言中,要extern 一个函数声明即可,然后这个函数在汇编里面实现。在汇编里面,用EXPORT 把C语言定义的函数名引进来,再开始编写函数名开始的段例子是一个六个数相加的函数。C语言:#include<stdio.h>extern int sum(int a,int b,int c,int d,int e,int f);int main(){ ..
转载
发布博客 2022.01.10 ·
3612 阅读 ·
5 点赞 ·
0 评论 ·
21 收藏
加载更多