黑马程序员技术交流社区
标题:
堆与栈在内存里是怎么分配的?
[打印本页]
作者:
奔跑的小红帽
时间:
2015-10-13 15:48
标题:
堆与栈在内存里是怎么分配的?
1.当我们看到一个变量类型是已知的,就分配在栈里面,比如INT,Double等。其他未知的类型,比如自定义的类型,因为系统不知道需要多大,所以程序自己申请,这样就分配在堆里面。
2.简单来说,值类型是分配在栈里面,引用类型分配在堆里面。
那从内存的分配角度来看,是因为值类型,已经知道了类型的范围大小,可以进行有效分配,比如int,计算机是知道其范围的,所以直接由系统分配在栈中,无需自己申请!
而新的类型,比如自己定义一个类,很明显这个类是不知道大小的,应该有程序自己来申请内存空间,所以由堆来分配!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2