jvm-深入理解jvm

[复制链接]
发表于 2025-3-17 19:56:50 | 显示全部楼层 |阅读模式

1、jvm结构

image.png

image.png

2、虚拟机参数

-Xmx 最大堆空间
-Xss 最大栈深度

image.png

image.png

3、java堆

image.png

image.png

4、java栈

image.png

5、局部变量表

局部变量表是栈帧的重要组成部分之一。它用于保存函数的参数以及局部变量。局部变量表中的变量只在当前函数调用中有效,当函数调用结束后,随着函数栈帧的
销毁,局部变量表也会随之销毁。
由于局部变量表在栈帧之中,因此,如果函数的参数和局部变量较多,会使得局部变量表膨胀,从而每一次函数调用就会占用更多的栈空间,最终导致函数的嵌套调用次数减少。
【示例2-4】下面的代码演示了这种情况,第1个recursion()函数含有3个参数和10个局部变量,因此,其局部变量表含有13个变量。而第2个recursion()函数不含有任何参数和局部变量。当这两个函数被嵌套调用时,第2个recursion()函数可以拥有更深的调用层次。

image.png

image.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

GMT+8, 2025-9-7 23:50 , Processed in 0.096560 second(s), 36 queries Archiver|手机版|小黑屋|Attic ( 京ICP备2020048627号 )

快速回复 返回顶部 返回列表