JVM内存模型

栈:每个方法执行时,都会创建一个栈桢,记录着局部变量,方法出口等方法的相关信息。方法的执行到结束,对应着一个栈桢入栈到出栈的过程。线程私有,当栈的深度超过JVM所允许的深度时,会抛出StackOverflowError,如果是动态栈,超过可以扩展范围,则会抛出OutOfMemoryError

堆:线程共享,所有对象实例,数组都在此分配,gc管理的区域。

方法区:用来存在被加载的class,常量,静态变量,已经编译后的代码缓存等,线程共享。

程序计数器:字节码行号指示器。通过改变计数器的值,来决定下一步,执行哪一条字节码指令。每个线程都有一个单独的程序计数器。不会出现OutofMemoryError的情况。

本地方法栈:用来执行JVM调用的一些本地方法(底层)。

posted @   viziCCC  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示