logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

分布式锁的3种实现方式

说起分布式的概念,首当其冲就是CAP理论,即满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。但是CAP理论告诉我们,任何系统只能满足其中两个,所以都要求去做取舍。那么人们常说的一般都是,需要牺牲一致性来保证系统的高可用性,只要保证系统的最终一致性,并且允许的时间差值能够被接受就行。对于这个,本人的体会就是订单系统,对于

#redis
long和double的线程安全问题

java规范规定了对基本数据类型的操作必须是原子性的,但是long和double除外。但是对于volatile 修饰的long和double,读写必须为原子的。但是规范没有规定怎么去实现,现今的虚拟机都是把32位作为原子性操作。但是对于64位确没有,因此64位虚拟机操作long和double时,会出现两次写操作,这就造成了错位可能,因此在64位上操作共享的long和

锁的消除和粗化

锁的消除出现的时机:虚拟机即时编译期运行时。出现的原因:主要判断依据就是来源于逃逸分析的数据支持,如果判断在一段代码中,堆上的所有数据都不会逃逸出去从而被其他线程访问到,那就可以把它们当做栈上的数据对待,认为它们是线程私有,同步锁无须进行。出现的典型例子:本身对于String的连接操作JVM会转化成StringBudiler进行连接,既然转化成了sb,那么其实sb是一个局部变量,对于append操

到底了