博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jvm内存结构总结笔记
阅读量:4212 次
发布时间:2019-05-26

本文共 421 字,大约阅读时间需要 1 分钟。

jvm组成结构

先来一张图总体看看jvm的组成部分。

在这里插入图片描述

jvm主要由运行时数据区和类加载子系统和执行引擎等组成。
我们重点来总结一下运行时数据区:

1.

      栈为线程私有,每个线程都有自己的独立栈区域空间,主要用于存储局部变量。
在线程运行时,线程的每个方法,虚拟机都会在栈内单独分配一个独立的空间来用于局部变量的作用域表示,这部分独立的空间被称为栈帧。栈帧是基于线程的私有栈内存来进行分配的,例如:线程main中调用了类Class.methodA() 和Class.methodB(),那main线程栈内存就会首先分配一个栈帧1,用来存储Class变量,接着会在main线程栈内存中再分配一个栈帧2区域,用来存储methodA()的局部变量,接着还会在main线程栈内存再分配一个栈帧3区域,用来存储methodB()的局部变量。当methodB()执行完毕,首先释放栈帧3,接着栈帧2,再接着栈帧1,这就是栈的先进后出原则。
      来画一张图解释:

转载地址:http://fikmi.baihongyu.com/

你可能感兴趣的文章
yii2 - 模块(modules)的view 映射到theme里面
查看>>
yii2 - controller
查看>>
yii2 - 增加actions
查看>>
php图像处理函数大全(缩放、剪裁、缩放、翻转、旋转、透明、锐化的实例总结)
查看>>
magento url中 uenc 一坨编码 base64
查看>>
强大的jQuery焦点图无缝滚动走马灯特效插件cxScroll
查看>>
Yii2.0 数据库查询
查看>>
yii2 db 操作
查看>>
mongodb group 有条件的过滤组合个数。
查看>>
关于mongodb的 数组分组 array group
查看>>
MongoDB新的数据统计框架介绍
查看>>
mongodb 增加全文检索索引
查看>>
symfony
查看>>
mysql数据库主从同步的问题解决方法
查看>>
LoadRunner如何在脚本运行时修改log设置选项?
查看>>
QC数据库表结构
查看>>
自动化测试工具的3个关键部分
查看>>
测试工具厂商的编程语言什么时候“退休”?
查看>>
资源监控工具 - Hyperic HQ
查看>>
LoadRunner中Concurrent与Simultaneous的区别
查看>>