黑马程序员技术交流社区

标题: 堆和栈的区别? [打印本页]

作者: mischen    时间: 2016-5-20 21:13
标题: 堆和栈的区别?
堆和栈的区别?

作者: kunwenli    时间: 2016-5-20 22:03
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配
作者: kunwenli    时间: 2016-5-20 22:04
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.
堆内存用来存放由 new 创建的对象和数组,在堆中分配的内存,由 Java 虚拟机的自动垃圾回收器来管理。
作者: 石头stone    时间: 2016-5-20 22:23
栈内存中加载方法,堆内存中创建对象
作者: hjbing456    时间: 2016-5-20 22:30
栈 方法压栈 然后调用完弹栈
堆,创建对象,默认初始化。把地址付给对应的方法

作者: 我类个去    时间: 2016-5-20 22:59
栈是存储方法和局部变量的,堆是存储new出来的对象------------
当一个.class文件加载进内存的时候,先进的是方法区,方法区有main方法,这jvm也就是java虚拟机会把主方法main压栈,而new来的对象会进堆



系统会分配给堆里的new出来对象的16进制的地址值,栈里的局部变量会记录住这个地址值,当调用的时候会通过地址值把new出来的对象运行起来

作者: 我有上将潘凤    时间: 2016-5-20 23:07
竟来看看




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2