项目经理问我Java内存区域模型!急急急
Posted Java架构没有996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目经理问我Java内存区域模型!急急急相关的知识,希望对你有一定的参考价值。
也就这么点吧
Java内存区域主要分为:堆,栈,方法区三大部分
1、堆:是内存区域中最大的部分,所有线程共享,其中存放创建的对象和数组。由于堆是垃圾收集器管理的主要区域,因此也叫GC堆。
2、栈:线程私有,与线程共生死。也就是每个线程JVM都会给它创建一片栈内存。
栈内存又分为:虚拟机栈,本地方法栈,和程序计数器
虚拟机栈用来描述Java方法的执行过程。每个方法的执行对应一个栈帧的入栈,方法的返回对应栈帧的出栈。
本地方法栈与虚拟机栈类似,区别是本地方法栈尾Native方法服务。Native方法也就是非Java代码的方法,一般是底层的C/C++方法
程序计数器占用的空间很小,用来记录线程执行的字节码的行号指示器,通俗来讲,就是记录当前线程执行的位置,以便线程切换后能够恢复到原来的位置
3、方法区:也被称为永久代,其中主要存放常量、静态变量、类信息。
其中的常量存放于运行时常量池中内存区域模型资料
最后,祝大家早日学有所成,拿到满意offer
以上是关于项目经理问我Java内存区域模型!急急急的主要内容,如果未能解决你的问题,请参考以下文章
#私藏项目实操分享#一文带你了解 Java 的内存模型与内存区域