虚拟机栈:每个Java方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直到执行完成的过程,就对应着一个栈帧在Java虚拟机栈中入栈和出栈的过程。
本地方法栈:和虚拟机栈所发挥的作用非常相似,区别是:虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则为虚拟机使用到Native方法服务。
所以,为了保证线程中的局部变量不被别的线程访问到,虚拟机栈和本地方法栈都是线程私有的。
虚拟机栈:每个Java方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直到执行完成的过程,就对应着一个栈帧在Java虚拟机栈中入栈和出栈的过程。
本地方法栈:和虚拟机栈所发挥的作用非常相似,区别是:虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则为虚拟机使用到Native方法服务。
所以,为了保证线程中的局部变量不被别的线程访问到,虚拟机栈和本地方法栈都是线程私有的。
上一篇:程序计数器为什么是私有的
下一篇:为什么要使用多线程呢?
JVM定义了若干运行时数据区,其中一些随着JVM的启动而创建,退出而销毁。还有一些数据区域和线程一一对应,随着线程的开始而创建
Java栈的区域很小,只有1M,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,基本数据类型的数据,和对象的引用(reference)。
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M