最近在知乎上看到的一个写的不错的文章,记录其中关键的知识点,以防忘记。 WeakReference中所有的方法都是继承自Reference,所以要了解WeakReference以及更多其他的SoftReference、PhtomReference,学习好...
最近在知乎上看到的一个写的不错的文章,记录其中关键的知识点,以防忘记。 WeakReference中所有的方法都是继承自Reference,所以要了解WeakReference以及更多其他的SoftReference、PhtomReference,学习好...
├─agent Serviceability Agent的客户端实现 ├─make 用来build出HotSpot的各种配置文件 ├─src HotSpot VM的源代码 │ ├─cpu ...
目录 1、oopDesc::oop_iterate/oopDesc::oop_iterate_backwards 2、Klass::oop_oop_iterate /Klass::oop_oop_iterate_backwards ...4、OopMapBlock 5、InstanceClassLoaderKlass 6、InstanceMirrorKlass
对象的定义顺序和布局顺序是不一样的。我们在写代码的时候不用关心内存对齐问题,但是如果内存按照源代码定义顺序进行布局的话,由于cpu读取内存时是按寄存器(64位)大小单位载入的,如果载入的数据横跨两个64位,...
目录 1、java.lang.Class 1.1、Class实例中oop_size、klass等属性是哪来的? 1.2、_offset_of_static_fields 1.3 为什么从_offset_of_static_fields处开始遍历?...4、oopDesc::adjust_pointers /fol...
目录 一、Space 二、CompactibleSpace 1、prepare_for_compaction 2、CompactPoint /LiveRange / Prefetch 3、adjust_pointers ...5、如何获取下一个被标记对象的地址 ...在上一篇博客《Hotspot 垃圾回收之...
ClassFileParser::parseClassFile()方法会将解析Class文件的大部分结果保存到instanceKlass对象中。创建instanceKlass对象的代码如下: int total_oop_map_size2 = InstanceKlass::nonstatic_oop_map_size(info....
目录 一、数据结构 1、Java堆 2、CodeCache 3、MetaSpace 二、关键类/方法 1、oop/Klass 2、oop_iterate / adjust_pointers /follow_contents 3、ReferenceProcessor 4、markOop / promote / forward ......
类变量解析 Java类变量解析的原理 计算机基础——偏移量与内存对齐 Java类与字段的对齐与补白 Java字段的继承机制 使用HSDB查看运行时的Java类结构 类变量解析 在ClassFileParser::parseClassFile()函数中,解析...
但是我们要思考这样一个问题,当有多个引用对象的字段指向同一个被引用对象时,我们完成一个被引用对象的复制之后,其他引用对象还没有被遍历(即还指向被引用对象老的地址),如何处理这种情况?...
Hotspot简介Hotspot是openjdk的JVM虚拟机, linux发行版下默认安装的是openjdk, 而oracle 的jdk也基本是由openjdk代码编译而来, 外加上一些商业代码, 形成orcale的jdk. 由此可见, hotspot的无处不在....
由于虚拟机的分代实现,虚拟机不会考虑各个内存代如何实现垃圾回收,具体的工作(对象内存的分配也是一样)由各内存代根据垃圾回收策略自行实现。 DefNewGeneration的使用复制算法进行回收。复制算法的思想是将eden...
标签: 软件设计
2.4 对象头