java运行时数据区
1.什么是程序计数器?
程序计数器是一块很小的内存,可以看做是当前线程所执行字节码的行号指示器
2.程序计数器的作用是什么?
java通过线程轮流切换的方式来实现多线程,为了线程切换后能恢复到之前执行的位置
3.程序计数器的特点是什么?
每条线程都有自己的程序计数器,各线程互不影响,该内存区是线程私有内存,该内存区是唯一一个没有outofmemoryError的区域
4.什么是java虚拟机栈?
用于描述java方法执行的内存模型:每个方法在执行时都会创建一个栈帧
5.java虚拟机栈的作用是什么?
用于存储局部变量表,方法出口,动态链接等信息,每个方法从调用到执行完的过程,对应着一个栈帧从虚拟机入栈和出站的过程
6.java虚拟机栈的特点是什么?
线程私有,生命周期与线程相同
7.什么是本地方法栈?
与java虚拟机栈类似只是本体方法栈为本地代码服务
8.什么是java堆?
java虚拟机中最大的一块内存,被所以线程共享,在虚拟机开启时创建,存放对象实例
9.什么是方法区?
用于存储被虚拟机加载的类信息,常量,静态变量等数据,特点是各线程共享