JVM调优(五)
一、Runtime Data Area
1、包括
Program Counter:PC,存放指令的位置。 取PC中的位置,找到对应位置的指令-->执行该指令-->指令++
Direct Memory:JVM可以直接访问的内核空间的内存。NIO,提高效率,直线零拷贝
method area:被所有线程共享,class的结构存放方法区
jdk1.7中的永久代和jdk1.8中的元数据区是method area的实现方式
JVM stacks:存放栈帧
heap:被所有线程共享
二、栈帧
栈帧:每个方法对应一个栈帧,方法启动后就会生成栈帧
局部变量表,当前方法中运用到的局部变量
操作数栈
三、栈的执行过程
Hello hello = new Hello();对象的创建过程
①在堆中创建一个对象,该对象为默认值
②该对象地址会压栈
③调用构造方法赋初始值
④地址弹栈(store指令)将new Hello()赋值给hello
store指令:弹栈
load指令:压栈
pop指令:将值放到栈顶
init指令:构造方法赋初始值
作者:http://cnblogs.com/lyc-code/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权力。