简单理解JVM整体结构

学习一段时间 再回头看基础  名称栈堆  方法区  有点遗忘了 再屡一遍

               jvm启动时 就会创建好虚拟机    里面有  推   栈    方法区  本地方法栈

 当启动线程时   首先还是老样子   加载类信息   一般没打破双亲委派  由appClassLoader 加载去找class文件

 此时类装载子系统  加载完毕此线程class的文件后    执行代码逻辑

   由jvm虚拟机 的栈里面 开辟一块空间  给此线程当 线程栈      (只要开启线程就从jvm里面开辟一个线程栈)

那么线程栈里面装什么呢 ?

  1 执行代码某个方法就会 开辟一块区域 叫栈帧 只要调用方法就开辟  隔离性很好

                               ————————————————————————————————》   栈帧里面有啥呢?

                                                                     a  局部变量表                开始就会创建this 对象  放变量数据 a 

                                                                     b   操作数栈                   存放数据  比如放入111      然后操作给a赋值a为111   那么在局部变量表a=111

                                                                     c    动态链接               这个不好解释   首先类加载的时候  static  main 是静态链接   方法名就是动态链接  因为还没启动方法 没加载  等调用方法时  方法就会加载  方法名指向方法里面的数据等信息

                                                                       d  方法出口               return完后 数据信息

  2    堆里面放啥呢 ? 

                                   比如new 对象   数据就放推里面    栈就存在指向推的内存地址

  3    方法区呢?

                                  放类信息  常量 静态变量 数据   也是存的指向推的内存地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值