自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java面试准备

穿透:请求redis不存在的key,查询打到数据库,而数据库也没有,数据库面临全索引扫描。onlineDDL,先取mdl读锁,同步进行ddl,最后取mdl写锁,进行写入,最后释放锁。如当前事务提交前,后开启的事务需要读取当前事务修改的数据时,需要使用undolog对数据进行回滚之后才能读取。多哨兵组成一个集群后,通过投票结果判定redis服务的状态,并将新的master消息通知到所有的从服务器。文件小,恢复快,但不实时。事务开启时,会获取到事务id,而当前事务可读的记录是在当前事务id之前的版本记录。

2023-04-17 16:17:28 108

原创 canal-adapter 是如果做动态配置的?

1. 启动加载配置文件:canal-adapter在启动之前,会先进行初始化操作:CanalAdapterService:这里的类加载器,是自定义的ExtentionLoader + @SPI的注解实现的。CanalAdapterLoader 用于加载Adapter类以及加载配置信息等配置文件像这样:一个客户端(也就是canal-adapter)会有多个适配器,每一个适配器对应于服务端(canal-deployer)的一个instance。也就是适配器监听某一个库

2022-02-16 09:29:56 1012

原创 es的基础用法

ES的简单用法

2022-01-22 15:46:43 1692

原创 Mysql - binlog

日志:1. 为什么会有这个日志?2. 日志记录在哪里?谁触发的,记录格式是什么?3. 如何使用?binlog:server的日志binlog的作用binlog是数据库server层的日志,用来恢复数据库,备份数据库等使用的。所有的mysql引擎都可以使用binlog。3个作用:1. For replication 主从复制2. Certain data recovery operations require use of the binary log 确切时间点恢复3. 审..

2020-06-12 17:01:07 233

原创 Semaphore

Semaphore 信号量semaphore有两种方式,一种是公平的方式,一种是非公平的方式。public Semaphore(int permits, boolean fair) { sync = fair ? new FairSync(permits) : new NonfairSync(permits);}非公平只体现在加锁的同时看是否有空闲的资源,如果有,就取,如果...

2020-01-13 09:57:59 292

原创 CyclicBarrier

cyclic 循环的 barrier 栅栏。latch vs barrier门闩,可以加一道,两道,三道。而栅栏只有一道,并且把所有的线程都拦住了。A synchronization aid that allows a set of threads to all wait for each other to reach a common barrier point.The barr...

2020-01-13 09:54:43 116

原创 CountDownLatch

latch : 门闩,闭锁的意思。在aqs的注释里,作者写了一个BooleanLatch,用来做单一门闩的类。跟CountDownLatch很类似了。只是CountDownlatch是多个控制,而BooleanLatch只有一个控制。CountDownLatch并不限制线程数,只限制countDown的次数终于回到了CountdownLatch了。CountDownLatch就是...

2020-01-13 09:52:30 226

原创 ReentrantLock

ReentrantLock重入锁的lock和unlock。ReentrantLock.lock ----> Sync.lock -----> AbstractQueuedSynchronizer.acquire --> Sync.tryAcquire.waitStatus:表示节点的状态,其中包含的状态有:CANCELLED:值为1,表示当前节点被取消;SIGN...

2020-01-13 09:49:53 148

原创 AQS、CLS、MCS

CLH锁和MCS锁。CLH锁适用于SMP(symmetric Multi-processing)对称多处理器结构。MCS锁使用于NUMA(non-Uniform Memory Access)非一致存储访问。SMP:一台服务器,多个CPU,但多个CPU共享一块内存。每个CPU读取内存的时间一致。NUMA:一台服务器,多个CPU,但每个CPU有独立的内存,多个CPU通过互联模块相互访问。分...

2020-01-13 09:45:42 308

空空如也

空空如也

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

TA关注的人

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