天道不一定酬所有勤
但是,天道只酬勤
Hollis出品的全套Java面试宝典不来了解一下吗?

Java

Java的相关知识

为什么JDK 15要废弃偏向锁?

在JDK 1.7中,引入了偏向锁的概念来优化synchronized的性能,但是偏向锁,在JDK 15中已经被废弃了。 那么,为什么呢?(https://openjdk.org/jeps/374 ) JDK 15决定废弃偏向锁的主要原因是:...

赞(10)hollischuanghollischuang阅读(1031)去评论

解决幂等问题,只需要记住这个口诀

作为开发人员,我们每天都要开发大量的接口,其中包括了读接口和写接口,而对于写接口来说,除了要保证他的性能、可用性以外,还需要有一个重要的问题,那就是考虑如何保证接口的幂等性。 幂等性 什么是幂等性? 幂等(idempotent、idempo...

赞(12)hollischuanghollischuang阅读(1263)去评论

CMS和G1改用三色标记法,可达性分析到底做错了什么?

我们都知道, 当JVM判断对象不再存活的时候,便会在下一次GC时候将该对象回收掉,为堆腾出空间,而JVM判断对象存活的算法大家比较熟知的有两种,分别是引用计数法和可达性分析算法 引用计数法:给对象中添加一个引用计数器,每当有一个地方引用它,...

赞(3)hollischuanghollischuang阅读(951)去评论

CAS确定完全不需要锁吗?

CAS大家都知道,这是一项乐观锁技术,是Compare And Swap的简称,顾名思义就是先比较再替换。 虽然他叫乐观锁,但是我们都知道它是不需要加锁的,在JDK1.5 中的JUC就是建立在CAS之上的。相对于synchronized这种...

赞(0)hollischuanghollischuang阅读(1554)去评论

并发编程的原子性 != 事务ACID的原子性

关于原子性,很多人在多个地方都听说过,大家也都背的很熟悉。 在事务的ACID中,有原子性的概念,在并发编程的原子性、可见性、有序性中也有原子性的概念。 有人认为他们是一样的,甚至很多人在说原子性的时候也都是这么说的: 原子性是指事务是一个不...

赞(7)hollischuanghollischuang阅读(1834)去评论

Java 19中新推出的虚拟线程到底是怎么回事儿?

最近,JDK 19发布了,推出了几个新的特性,其中有一个比较值得关注的那就是新增了虚拟线程。 很多人可能比较疑惑,到底什么是虚拟线程,和我们现在使用的平台线程有啥区别呢? 要说清楚JDK 19中的虚拟线程,我们要先来了解一下线程都是怎么实现...

赞(1)hollischuanghollischuang阅读(1873)去评论

轻量级锁会自旋吗?

对象加锁的入口在ObjectSynchronizer::enter(h_obj, lock, current); 这个方法中(https://github.com/openjdk/jdk/blob/9583e3657e43cc1c6f210...

赞(2)hollischuanghollischuang阅读(2152)去评论

求你了,别再用 isSuccess 这样的方式给变量命名了!!!

在日常开发中,我们会经常要在类中定义布尔类型的变量,比如在给外部系统提供一个RPC接口的时候,我们一般会定义一个字段表示本次请求是否成功的。 关于这个”本次请求是否成功”的字段的定义,我见过很多不同的开发者,定义的方式都不同,尤其是在属性的...

赞(4)hollischuanghollischuang阅读(3253)去评论

HollisChuang's Blog

联系我关于我