- 博客(4)
- 收藏
- 关注
原创 缓存穿透、缓存雪崩、缓存击穿问题的解决方案
1.前言 从系统的角度去看,CPU的速度远远高于磁盘IO的速度;所以要想提高响应速度,必须减少磁盘IO的操作;很多数据是存储在数据库中的,所以查询数据库就是一次IO操作;例如查询用户信息,如下图所示。 当客户端查询用户信息的时候,执行顺序1、2、3、4;由于用户信息存放在DB中,所以2、3就有一次磁盘IO;这个看似非常简单业务逻辑,但是当成千上万的用户频繁的...
2019-04-16 20:42:32
1874
原创 CAS自旋原理小结
CAS(Compare-and-Swap),即比较并替换;在并发编程中是经常用到的技术,很多并发包中能够看到CAS的影子。在并发编程中,就拿简单的变量自增操作来说,由于多个线程相互间的切换,即使把自增的变量声明为volatile类型,但也不能保证自增的原子性,往往与预期的值不一致。若想解决这个问题,有以下解决方法:1、给相应的方法加上同步关键字:synchronized;2、使用Jav...
2019-03-31 22:08:07
4010
1
转载 grep查找字串sed替换字串
命令:sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`作用:将当前目录(包括子目录)中所有txt文件中的yyyy字符串替换为xxxx字符串参数解释: sed:-i 表示操作的是文件,``括起来的grep命令,表示将grep命令的的结果作为操作文件s/yyyy/xxxx/表示查找yyyy并替换为xxxx,后面跟...
2019-02-23 11:50:59
2489
原创 malloc与realloc的区别
ANSI C说明了三个用于存储空间动态分配的函数(1) malloc 分配指定字节数的存储区。此存储区中的初始值不确定(2) calloc 为指定长度的对象,分配能容纳其指定个数的存储空间。该空间中的每一位(bit)都初始化为0(3) realloc 更改以前分配区的长度(增加或减少)。当增加长度时,可能需将以前分配区的内容移到另一个足够大的区域,而新增区域内的初始值则不确定...
2019-02-22 12:02:28
23178
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人