JVM学习
文章平均质量分 83
wotu__
这个作者很懒,什么都没留下…
展开
-
JVM(1)-Java运行时数据区域
Java虚拟机在执行Java程序时会把它所管理的内存划分为若干个数据区域, 有的区域随着虚拟机进程的启动而存在, 如: 方法区和Java堆 而有些区域依赖用户线程的启动和结束而创建和销毁, 如: 程序计数器、虚拟机栈和本地方法栈 下面就来介绍Java虚拟机所管理的内存所包含的几个数据区域: 1.程序计数器 程序计数器是一块较小的内存空间,可以看作当前线程所执行的字节码的行号指示器。 ...原创 2018-10-05 22:25:31 · 172 阅读 · 0 评论 -
JVM之类加载机制
一、类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期包括7个阶段: 加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。 二、类的加载过程 1. 加载 加载过程要完成以下三件事情: * ...转载 2019-04-08 21:42:37 · 107 阅读 · 0 评论 -
Java之类的初始化时机
一、主动引用 虚拟机规范中并没有强制约束何时进行类加载,但是规定了有且只有下列5种情况必须比类进行初始化。 1. 遇到new、getstatic、putstatic、invokestatic这4条机器码指令时,若类没有进行过初始化,则必须先触发其初始化。 最常见的场景:使用new实例化对象;读取或设置一个类的静态字段(被final修饰、已在编译期把结果放入常量池的静态字段除外)。;调用一个类...转载 2019-04-08 22:17:07 · 190 阅读 · 0 评论 -
Java之内存模型
参考博客: https://www.cnblogs.com/nexiyi/p/java_memory_model_and_thread.html https://www.cnblogs.com/dolphin0520/p/3920373.html https://www.cnblogs.com/chengxiao/p/6528109.html https://cyc2018.github....转载 2019-04-29 18:37:26 · 204 阅读 · 0 评论