1.heap是堆,stack是栈。 2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。 3.stack空间有限,heap的空间是很大的自由区。 在Java中, 若只是声明一个对象,则先在栈内存中为其分配地址空间, 若再new一下,实例化它,则在堆内存中为其分配地址。 4.举例: 数据类型 变量名;这样定义的东西在栈区。 如:Object a =null; 只在栈内存中分配空间 new 数据类型();或者malloc(长度); 这样定义的东西就在堆区 如:Object b =new Object(); 则在堆内存中分配空间 |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |