Java内存模型:
Java虚拟机标准中将Java运行时数据分为六种。
1.程序计数器:是一个数据结构,用于保存当时正常履行的程序的内存地址。Java虚拟机的多线程就是通过线程轮番切换并分配处理器时刻来完成的,为了线程切换后能康复到正确的方位,每条线程都需求一个独立的程序计数器,互不影响,该区域为“线程私有”。
2.Java虚拟机栈:线程私有的,与线程生命周期相同,用于存储局部变量表,操作栈,办法返回值。局部变量表放着根本数据类型,还有目标的引证。
3.本地办法栈:跟虚拟机栈很像,不过它是为虚拟机使用到的Native办法服务。
4.Java堆:所有线程同享的一块内存区域,目标实例简直都在这分配内存。
5.办法区:各个线程同享的区域,贮存虚拟机加载的类信息,常量,静态变量,编译后的代码。
6.运行时常量池:代表运行时每个class文件中的常量表。包含几种常量:编译时的数字常量、办法或许域的引证。
|
|