malloc/free和new/delete
如果使用堆栈存储和静态存储就能满足应用要求,那么就不要使用动态存储。
内存的分配方式有三种:从静态存储区域分配、在堆栈上分配和从堆或自由存储空间上分配。第三种也叫动态内存分配,相比前两种,动态分配要麻烦,而且更危险,所以尽量不要使用它。
如果使用堆栈存储和静态存储就能满足应用要求,那么就不要使用动态存储。
内存的分配方式有三种:从静态存储区域分配、在堆栈上分配和从堆或自由存储空间上分配。第三种也叫动态内存分配,相比前两种,动态分配要麻烦,而且更危险,所以尽量不要使用它。
在上一篇《Java学习笔记之数据类型》中对Java的数据类型进行了分类,为了更好地理解他们的不同之处,我将对他们在内存中的存储进行分析。
我们先说说总的运行过程,在程序运行的时候,硬盘中的程序片段被加载到内存中,操作系统找到程序中的main方法,由此进入程序一步步执行,运行结束后操作系统释放这段内存。在这过程中最重要的就是程序执行过程中的内存分配方式,也就是内存管理。内存可以分为四个区域,如下图所示: