首页 > 代码库 > java运行时数据区

java运行时数据区

技术分享

1.什么是程序计数器?

  程序计数器是一块很小的内存,可以看做是当前线程所执行字节码的行号指示器

2.程序计数器的作用是什么?

  java通过线程轮流切换的方式来实现多线程,为了线程切换后能恢复到之前执行的位置

3.程序计数器的特点是什么?

  每条线程都有自己的程序计数器,各线程互不影响,该内存区是线程私有内存,该内存区是唯一一个没有outofmemoryError的区域

4.什么是java虚拟机栈?

   用于描述java方法执行的内存模型:每个方法在执行时都会创建一个栈帧

5.java虚拟机栈的作用是什么?

用于存储局部变量表,方法出口,动态链接等信息,每个方法从调用到执行完的过程,对应着一个栈帧从虚拟机入栈和出站的过程

6.java虚拟机栈的特点是什么? 

  线程私有,生命周期与线程相同

7.什么是本地方法栈?

  与java虚拟机栈类似只是本体方法栈为本地代码服务

8.什么是java堆?

  java虚拟机中最大的一块内存,被所以线程共享,在虚拟机开启时创建,存放对象实例

9.什么是方法区?

  用于存储被虚拟机加载的类信息,常量,静态变量等数据,特点是各线程共享

java运行时数据区