摘要: 一、java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 Java内存模型规定了所有的变量都存储在主内存(Main Memory)中(此处 阅读全文
posted @ 2019-03-15 09:33 嘿!小伙不错 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 一、什么是JVM的类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 二、什么时候进行类加载 类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止。它的整个生命周期包括:加载( 阅读全文
posted @ 2019-03-14 16:52 嘿!小伙不错 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 一、垃圾回收算法 那么在java中,哪些对象可以作为“GCROOT”呢? 虚拟机栈(栈帧中的本地变量表)中引用的对象。 方法区中类静态属性引用的对象。 方法区中常量引用的对象。 本地方法栈中JNI(即一般说的Native方法)引用的对象。 回收方法区(永久代的垃圾回收) 永久代的垃圾回收“性价比”远 阅读全文
posted @ 2019-03-13 17:24 嘿!小伙不错 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 一、jvm 运行时数据区域 二、深入探讨HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。 句柄访问 java堆中会划分出一块内存来作为句柄池,reference中存储的就是对象的句柄地址,而句柄中包含了对象的实例数据和各自具体的地址信息。 直接指针 Java堆对象的布局中就必须考虑如 阅读全文
posted @ 2019-03-13 09:52 嘿!小伙不错 阅读(158) 评论(0) 推荐(0) 编辑