JAVA虚拟机
文章平均质量分 94
泗水长流
克明俊德 格物致知
展开
-
java的双亲委派模型-附源码分析
要了解双亲委派模型,首先我们需要知道java的类加载器。所谓类加载器就是通过一个类的全限定名来获取描述此类的二进制字节流,然后把这个字节流加载到虚拟机中,获取响应的java.lang.Class类的一个实例。我们把实现这个动作的代码模块称为“类加载器”。原创 2023-02-15 18:02:16 · 2173 阅读 · 0 评论 -
synchronized和reentrantlock的底层实现及重入的底层原理
(1) synchronized的底层实现synchronized是用来保证线程同步,用的锁存在java对象头中,利用monitorenter和monitorexit指令实现,monitorenter指令是在编译后插入到同步代码块开始位置,而monitorexit是插入到方法结束后和异常处。jdk1.6之后引入了大量的优化,这其中又涉及到锁的四种升级状态:new(无锁) →偏向锁→轻量级锁(自旋锁)→重量级锁。而底层,synchrnoized是利用操作系统的Mutex Lock(互斥锁)来实现的,(原创 2020-06-28 16:38:46 · 2242 阅读 · 0 评论