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指令:构造方法赋初始值

 

 

posted @ 2022-03-26 09:49  showMeTheCodes  阅读(18)  评论(0编辑  收藏  举报