首页 > 代码库 > Java 内存分配

Java 内存分配

JVM内存区域模型:

 技术分享

* 程序计数器,内存区域极小,是当前线程的字节码执行行号指示器;

* 虚拟机栈、本地方法栈,即平时所说的“栈”,是虚拟机用来执行方法(包括Java、非Java方法)时,使用的临时内存空间,用来存储当前方法、局部变量等,全部基本类型变量,以及类对象的引用都存储在栈中;

* 方法区,全局共享区域,用来存储已经被虚拟机加载的Class信息、常量(如字符串字面常量)、静态变量,以及编译器编译后的代码等;

* 堆,是Java虚拟机管理中最大的一块内存,为所有线程所共享,用来存储所有Java类实例。需要注意的是,实例数据在堆中开辟内存,而对象的引用相当于指针,存储在各线程的栈中。

 

创建一个对象

  Person person1=new Person("John",20);

1.在栈内存中Person person1=null;

2.在堆内存中new Person("John",20);

3初始化,person1的引用指针(指针在栈中)指向堆内存中的new Person("John",20);

==================================================

 

 

http://blog.csdn.net/yangyuankp/article/details/7651251

Java 内存分配