虚拟机运行时数据区划分

假设①新建Company类,然后继续②创建Company实例,即Company company = new Company();

下面解释①②两部动作所涉及到的虚拟机运行时内存区域划分:

1,方法区:存放类信息,常量,静态变量(①中新建类(类信息)存放在方法去中);

2,虚拟机栈:创建栈帧,存放局部变量信息表,方法出口等信息(②中Company company即创建了一个reference,则昂在了局部变量信息表中);

3,堆:存放对象实例,(②中new Company()所需内存空间则在堆提供)。

4,程序计数器:生命周期与线程生命周期相同,简单来说,则用于标记线程执行的位置。

5,本地方法栈:与虚拟机栈类似,只不过本地方法栈服务的是Native方法(本地方法)。

 

posted @ 2017-02-20 17:58  蒋旺93  阅读(199)  评论(0编辑  收藏  举报