①(堆)是一个可动态申请的内存空间,一般所有创建的对象都放在这里。
(栈)是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量。
(栈)的空间小,但速度比较快,存放对象的引用,通过栈中的地址索引可以找到 堆中的对象。
②栈(java stacks )也是线程私有的,它的生命周期与线程相同。
虚拟机栈描述的是java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈用于存储局部变量表、操
作栈、动态链接、方法出口等信息。每一个方法被调用直至执行完成的过程,就对应着一个
栈帧在虚拟机栈中从入栈到出栈的过程。
堆(java Heap )是java 虚拟机所管理的内存中最大的一块。Java 堆是被所有线程共享的
一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,
几乎所有的对象实例都在这里分配内存。
|
|