- 博客(8)
- 收藏
- 关注
原创 基于mvcc的分布式事务
无锁快照隔离设计:读快照,不加锁,保证隔离性隔离性:采用多版本并发控制(mvcc)来在每次更新记录时创建新版本的记录,并生成快照。当执行写命令时,实际上并不会覆盖旧数据,相反,它将创建带有时间戳的新版本,执行读命令时,只会去读小于读事务时间戳的最新快照。和innodb互斥写和快照读似乎还不一样,splicemachine采用的是快照读和快照写,快照写,就是每次写的时候,创建一份快照,然后在这个快照的基础上写,写完了,事务提交的时候,再把刚刚这个快照合并到事务开始时的那个版本,而innodb的互
2021-01-18 14:48:50
262
原创 redis内存淘汰策略
1 volatile-LRU(least recently use ) 最近最久未用策略 底层是一个队列(用hashSet保证无重复元素),链表是限制容量的链表,也就是不定时间段内,固定数量的键,队尾就是最久未使用的,队首就是最近被使用的,那你可能会问,那比链表尾端更久远的键怎么了呢,我认为在一个key,被挤出 LRU 队列后,这个键就要被回收,当新的key生成,而内存不够用的时候,首先这个key会加入LRU队列,并把队尾key挤出,同时释放队尾key所占用的内存2 allkeys-LRU3 vola
2020-10-15 22:41:06
110
原创 枚举单例模式——可抵御反射攻击和序列化攻击
枚举类:public enum EnumSingleTon { /** * 唯一实例 */ uniqueEnum(),;}主函数: public static void main(String[] args) throws Exception { EnumSingleTon uniqueEnum = EnumSingleTon.un...
2019-09-20 14:52:55
534
原创 M_接口的意义
1,解耦:通过接口可以把组件以可插拔的方式组合在一起,以达到可扩展,易维护的效果2,接口有利于项目接口的清晰,帮助程序员从实现细节中解脱出来,3,利用接口多继承的特点,可以打造混合类型的对象...
2019-08-24 13:47:45
510
原创 effective java 异常的理解
checkedException:特点:调用者必须处理(缺点)目的:告诉调用者,这个异常是你调用此方法可能产生的一种结果,你现在必须处理本质:无视返回值类型,携带信息返回的对象适用:无视返回值类型的,通用的,返回信息的手段uncheckedException:特点:调用者无需也不该处理,终止线程目的:终止无意义的程序,并表明编程错误,前提违约本质:携带编程错误信息的对象,适用:前...
2019-06-26 14:28:31
83
原创 effective java:接口优于抽象类
1,已有的类更容易实现新接口,而实现新的抽象类十分困难假如,你需要让已有的类 class N拥有一个全新的类型,以便其作为组件用在某程序中,你有两个选择。1,实现一个接口interface A,implements+具体方法即可。2,继承一个抽象类 abstract class A,如果这个已有的类没有直接父类,直接extends即可,但是,很多情况,已有类是有直接父类的,此路不通。怎么办...
2019-06-11 09:47:04
138
转载 Spring boot对比Spring之怎么叫自动配置
Spring boot对比Spring之怎么叫自动配置比较详细的介绍添加链接描述本文参考了添加链接描述Spring配置JDBC1:基于xml <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> ...
2019-04-11 15:35:15
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人