栈、堆和静态区

来源:互联网 发布:微杂志免费制作软件 编辑:程序博客网 时间:2024/06/06 02:00

1.栈、堆和静态区保存的内容

栈:基本数据变量,对象的引用

堆:new的对象

静态区:类信息、方法(包括静态方法和实例方法)、静态变量、常量

2.为什么栈的效率比堆高?

①栈空间是在编译时分配的,堆空间是运行时动态分配的;
②结束调用后操作系统自动清除栈的内容(通过移动栈指针),而堆内存的分配清除都需要调用函数执行;
③访问堆对象时需要先访问指针,再访问内容,总共消耗了两次访存时间。
原创粉丝点击