自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 netty 学习

netty in action

2023-01-30 22:03:50 125

原创 mongodb

mongodb权威指南

2022-11-22 23:33:46 479

原创 kubernetes bible section5

kubernetes bible section 5

2022-10-04 23:11:45 203

原创 kubernetes bible section3

kubernetes bible书

2022-10-02 14:33:38 728

原创 kubernetes bible section 2

k8s bible section 2

2022-09-11 21:26:17 238

原创 kubernetes bible section 1

kubernetes圣经学习记录

2022-09-05 17:04:29 228

原创 tcp/ip

tcp ip

2022-08-25 23:07:54 629

原创 head first go

headfirstgo。

2022-07-17 20:34:19 151

原创 从入门到实践 python

学习记录

2022-07-03 22:38:31 90

原创 double精度 为53位bit,而非52位

53位bit实验背景知识2^52 = 4503599627370496将第一位设置成6 (小于2^53次方)double d = 6503599627370496L;for (int i = 0; i < 100; i++) { d++; System.out.println((long)d);}结果正常+1将第一位设置成9 (大于2^53次方)double d = 6503599627370496L;for (int i = 0; i &

2022-03-01 11:46:18 492

原创 mysql checkpoint 相关简述

利用checkpoint来去批量刷新到磁盘,在日志重做的时候,就可以在这个点后重新回放对应的东西,然后把没提交的东西回滚fuzzy checkpoint 记录checkpoint的起始和结束,start以后的事务无需放置在checkpoint里面,因为之后的事务后面去提交,无需跟随fuzzy checkpoint放置在log中。同时将对应的脏页刷新到磁盘中。 起始: 就记录start 结束 包括att和dtp为了达成这个目的,需要以下结构ac...

2021-08-07 19:24:32 275

原创 jdk读写锁

误区:读写锁公平读锁抢占的时候,是去判断,队列中的第一个是不是写锁,如果是,那么就写入。公平不公平其实体现在是否要直接抢占,如果前面有写锁,而且被感知,无论公平与否,都会阻塞读锁。获取写锁后,可以降级为读锁。参照https://www.jianshu.com/p/cd485e16456eprotected final int11 tryAcquireShared(int unused) { Thread current = Thread.currentThread();

2021-08-05 18:03:59 197

原创 threadLocalMap 为啥用弱引用

结论:为了让threadlocal的回收逻辑与使用该threadlocal的线程的回收逻辑相独立threadlocal举例来说可以作为一个对象中的引用,比如这个对象回收了,但线程是复用的(比如线程池)如果entry是强引用,就会引起threadlocal一直不回收。为了防止类似情况发生,采用的弱引用。有人说我平时都是用静态变量啊?没错,静态变量会导致threadlocal一直被强引用指着,threadlocalMap中的弱引用强引用并没有什么区别,刚刚提到的只有threadloca.

2021-08-05 17:22:40 626

原创 mysql 优化,锁

锁住show processlist 查看waiting for table metadata lock出现这个状态表示的是,现在有一个线程正在表t上请求或者持有MDL写锁,把select语句堵住了。这类问题的处理方式,就是找到谁持有MDL写锁,然后把它kill掉。但是,由于在show processlist的结果里面,session A的Command列是“Sleep”,导致查找起来很不方便。不过有了performance_schema和sys系统库以后,就方便多了。(MySQL启动.

2021-08-01 11:29:55 71

原创 redis skip list 结构解析

先从基本的,去除掉span以后的开始// zset的数据结构定义/* ZSETs use a specialized version of Skiplists */typedef struct zskiplistNode { sds ele; double score; struct zskiplistNode *backward; struct zskiplistLevel { struct zskiplistNode *forward; .

2021-07-21 13:58:33 132

原创 常见排序算法

o(n2)的算法插入排序 int[] arr = new int[]{2,3,1,2}; int length = arr.length; for (int i = 1; i < length; i++) { int j = i; int cur = arr[j]; for (; j >0; j--) { if (cur < arr

2021-07-20 13:57:42 80

原创 CyclicBarrier demo

CyclicBarrier 这个东西到达一定程度后,同时唤醒某个值,里面有个lock,同时有个condition,condition,设置一个初始值数量 int threadNum = 5; CyclicBarrier barrier = new CyclicBarrier(threadNum, new Runnable() { @Override public void run() { ..

2021-07-12 17:45:14 164

原创 装饰器模式 动态代理模式 适配器模式

目录 装饰器模式 适配器模式 桥接模式 装饰器模式 装饰器模式就是类似于适配器模式,但是适配器模式持有的对象不需要继承或实现持有待装饰的对象。 适配器模式 adaptee是持有的目标的三方类库/老代码等不太好动的,所以用个这玩意去适配接口,我们对外提供的接口是我们自己定义的。桥接模式桥接模式是各自的接口进行结合的过程。单独去做抽象从意图上看适配器是为了复用已有接口的功能,而通过适配将已有接口功能引入到所需接口的一种模式,目的是能够结合。桥...

2021-07-11 16:48:30 135

原创 volatile 可见性 以及synchronized到jmm

volatile带有可见性,可见性是指什么,可见性就是说我一个地方修改的,另外一个线程能看到。为啥会有这种问题呢?这是因为多核cpu导致的。对于某个核的cpu来说,寄存器存储的东西可能和另一个cpu的寄存器存储的东西不一样,包括后面为了处理cpu和内存之间的延时的数量级鸿沟而引入的 L1 L2cache 等各个cpu核之间都可能不一样。有些东西我要保证多个核之间的cpu的数值一致,或者说弱一点,这个东西对另外一个东西可见之前的volatile可见性的实现,是通过重型的锁总线,但是这个东西性能

2021-07-08 19:22:08 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除