面试
文章平均质量分 70
颍川道人
唯有热爱,能抵岁月漫长
展开
-
Java对象内部结构
Java对象内部结构分析 对象头 对象头占用12个字节,存储内容包括对象标记(markOop)和类元信息(klassOop)。 对象标记存储对象本身运行时的数据,如哈希码、GC标记、锁信息、线程关联信息等,这部分数据在64位JVM上占用8个字节,成为"Mark Word"。 为了存储更多的状态信息,对象标记的存储格式是非固定的(具体与JVM的实现有关)。类元信息存储的是对象指向它的类元数据(即Klass)的首地址,占用4个字节. 实例数据 存储本类对象的实例成员变量和所有可见的父类成员变量原创 2021-03-22 22:43:12 · 200 阅读 · 0 评论 -
Java面试-类加载
类加载过程 任何程序都需要加载到内存才能与CPU进行交流.字节码.class文件统一需要加载到内存中,才能实例化类,而ClassLoader正是关键,它的使命就是提前加载.class文件到内存中. 在加载类时,使用双亲委派模型(朔源委派加载模型) Java的类加载器是一个运行时核心基础设施模块,主要在启动之初进行类的Load Link Init,即加载 连接 初始化 类加载是一个将.class字节码文件实例化成Class对象并进行相关初始化的过程。 加载(Load) 第一步,Load阶段读取类文件产生二进制原创 2021-03-04 16:54:08 · 208 阅读 · 2 评论 -
Java面试-JVM虚拟机内存布局
这里写自定义目录标题内存布局本地方法栈程序计数器虚拟机栈堆元空间(MetasSpace) 内存布局 JVM内存布局规定了Java在运行过程中内存申请,分配,管理策略,保证了JVM的高效平稳运行。不同JVM对于内存的划分方式和管理机制存在着部分差异。结合JVM虚拟机规范,来探讨一下经典的JVM内存布局。 本地方法栈 程序计数器 虚拟机栈 堆(Heap) 元空间(MetasSpace) 本地方法栈 本地方法栈在JVM内存布局中,也是线程对象私有的,但是虚拟机栈’主内’,而本地方法栈’主外’,这个内外之别是针原创 2021-03-04 16:17:01 · 177 阅读 · 3 评论