黑马程序员技术交流社区

标题: 堆与栈在内存里是怎么分配的? [打印本页]

作者: 奔跑的小红帽    时间: 2015-10-13 15:48
标题: 堆与栈在内存里是怎么分配的?
1.​当我们看到一个变量类型是已知的,就分配在栈里面,比如INT,Double等。其他未知的类型,比如自定义的类型,因为系统不知道需要多大,所以程序自己申请,这样就分配在堆里面。
2.简单来说,值类型是分配在栈里面,引用类型分配在堆里面。
那从内存的分配角度来看,是因为值类型,已经知道了类型的范围大小,可以进行有效分配,比如int,计算机是知道其范围的,所以直接由系统分配在栈中,无需自己申请!
而新的类型,比如自己定义一个类,很明显这个类是不知道大小的,应该有程序自己来申请内存空间,所以由堆来分配!




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