对象头 在hotspot中对象指针称为oop(ordinary object pointer),而oopDesc则是对象头的结构.。除了Klass(之所以叫klass是因为class是C++关键字)指针外,,还由一个_mark字段,,是因为除了对象的class信息以外,还有一些对象信息需要保留, 比 ...
分类:
其他好文 时间:
2019-08-11 10:48:45
阅读次数:
220
本PPT从JVM体系结构概述、GC算法、Hotspot内存管理、Hotspot垃圾回收器、调优和监控工具六大方面进行讲述。图文并茂不生枯燥。 好东西当然要分享,转发+关注,然后私信回复“JVM46”即可免费获取的本PPT的领取方式。 导航 JVM体系结构概览 常用GC算法 复制 标记-清除 标记-压 ...
分类:
编程语言 时间:
2019-08-09 17:23:25
阅读次数:
137
"回顾传统垃圾回收器" HotSpot 垃圾收集器实现 Serial Collector(串型收集器) 使用场景,大多数服务器是单核CPU。 适用收集场景:1. 新生代收集(Young Generation Collection)2. 老年代收集(Old Generation Collection) ...
分类:
编程语言 时间:
2019-08-05 20:43:19
阅读次数:
171
CAS的全称是CompareAndSwap,比较并交换,是Java保证原子性的一种重要方法,也是一种乐观锁的实现方式。 它需要先提前一步获取旧值,然后进入此方法比较当下的值是否与旧值相同,如果相同,则更新数据,否则退出方法,重复一遍刚才的动作。由此可见,CAS方法是非堵塞的。CAS方法需要三个参数, ...
分类:
其他好文 时间:
2019-08-04 10:48:20
阅读次数:
114
VM进程状态工具 - 列出目标系统上已检测的HotSpot Java虚拟机进程信息。可直接在装有java运行环境的Windows 或者 Linux机器上使用命令行执行jps命令。一个典型的应用场景,例如你不知道这台机器上运行的java程序所在的位置,或者不了解它启动时的一些参数设置,便可使用jps命 ...
分类:
系统相关 时间:
2019-07-28 16:00:59
阅读次数:
153
1 JDK源码跟踪 2 OpenJDK源码跟踪 jdk源码(JNI注册) java虚拟机(HotSpot实现): ...
分类:
其他好文 时间:
2019-07-28 14:21:19
阅读次数:
234
偏向锁 Hotspot 的作者经过以往的研究发现大多数情况下锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁。当一个线程访问同步块并获取锁时,会在对象头和栈帧中的锁记录里存储锁偏向的线程 ID,以后该线程在进入和退出同步块时不需要花费 CAS操作来加锁和解 ...
分类:
其他好文 时间:
2019-07-11 12:50:40
阅读次数:
273
synchronized的锁的原理两个重要的概念:一个是对象头,另一个是monitor。 Java对象头在Hotspot虚拟机中,对象在内存中的布局分为三块区域:对象头(Mark Word、Class Metadata Address)、实例数据和对齐填充;Java对象头是实现synchronize ...
分类:
其他好文 时间:
2019-07-08 13:35:27
阅读次数:
160
心头一直有个疑问,jvm虚拟是如何对接class中的字节码的?或者说在未进入 JIT优化阶段时,解释器是如何对接的? 大概阐述 hotspot通过C++代码在堆上申请一块空间,向里面填充一组指令,然后把这块空间当成一个函数,通过函数指针去调用刚生成的代码。是不是666,是不是哇超酷毙了。 关键代码 ...
分类:
其他好文 时间:
2019-07-06 00:52:04
阅读次数:
165