首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
IamDZX
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
最新
热门
MyBatis执行流程
MyBatis执行流程如下所示。sqlSession上层获取mapper时调用sqlSession.getMapper,defaultSqlSession实现比较简单,调用configuration.
MyBatis配置结构
使用MyBatis是,需要使用XML配置MyBatis需要的参数。应用启动的时候,xml配置会被解析加载到内存,后续SQL执行时就可以直接使用。MyBatis有个类是Configuration,顾名思
LongAdder
LongAdder是一个线程安全的记数器,相比AtomicLong在高并发下有更好的性能。 LongAdder关键的方法是add。 add方法首先判断当前add操作是否符合cell是空、base执行CAS成功,通常情况下,都会对base执行相加,在并发比较高的情况下,CAS可能…
ReentrantReadWriteLock
这个类是juc提供的读写锁,多个读操作可以同时加锁,写操作同时只能有一个线程加锁,也就是说读锁是共享的,写锁是互斥的,读锁和写锁之间也是互斥的。 AQS维护了state表示资源获取的情况,读写锁用这一个表示读锁和写锁的资源获取情况,高16位表示读锁的资源获取情况,低16位表示写…
CountDownLatch
CountDownLatch的作用是,让1个或者多个线程等待直到一些操作在其它的线程执行完程。 CountDownLatch的入参是一个数据类型,表示等待结束需要执行的countDown的次数。 CountDownLatch最主要的方法是await和countDown方法。 a…
CyclicBarrier
CyclicBarrier支持所有线程互相等待直到所有线程都到达一个屏障点。 CyclicBarrier的入参是1个数字,标识CyclicBarrier屏障关闭需要被几个线程调用await方法。还有1个可选参数,是Runnable类型,标识屏障被打开时被执行的行为。 Cycli…
从ReentrantLock说到AQS
下面是NonfairSync的实现:首先使用cas修改state的值,如果修改成功,说明可以拿到锁,设置当前线程是获取到锁的线程。如果修改失败,则用排它模式获取。 acquire会进到aqs里的acquire方法。 这里的代码会先尝试获取锁(tryAcquire),如果获取失败…
raft算法
一个raft集群需要有几台服务器,典型的是5个,可以容忍2台机器宕机。 raft算法里,每台机器只可能有三种状态,跟随者、选举者、领导者。领导者负责处理客户端的请求,跟随者负责冗余数据,保证数据不会因部分节点宕机导致数据丢失。这里部分节点小于集群里机器数量的一半,也就是说,ra…
个人成就
文章被阅读
1,441
掘力值
94
关注了
0
关注者
0
收藏集
3
关注标签
1
加入于
2018-09-19