关于内存的申请与释放
浏览:2975次 出处信息
在C语言中,如果存在malloc,则一定要有free,否则就会产生内存泄露;而且你还不能free两次,否则,程序将直接崩溃。
写PHP程序就比较方便了,你甚至不需要初始化变量,你从来也不用考虑内存回收的问题,但是缺点就是PHP的效率相比C来讲就低多了。
我不知道这种比较是否恰当,我想说的是,有一种内存回收是必须显示地、手动地;有一种内存回收是程序自动探测的。前者效率高很多,但是程序开发的效率就很低了;后者开发效率高,但是程序运行效率低。
后来才发现还有第三种方案: 写程序的时候,你不需要显示地、手动地去释放内存,编译器在编译期间会发现什么地方需要释放内存,自动的将释放内存的代码插进去; 这样的话,开发效率高了,执行效率也高了,编译的时候慢了一些(我们可能不太关心这个)。从文章 http://www.programmer.com.cn/9436/ 来看,object-c的编译器有这个功能; 我想,编译器能做到这种地步,也够煞费苦心的,而且我真的不敢相信编译器不会猜错。
建议继续学习:
- Linux内存点滴 用户进程内存空间 (阅读:11050)
- ps - 按进程消耗内存多少排序 (阅读:11007)
- Linux Used内存到底哪里去了? (阅读:9745)
- Linux操作系统的内存使用方法详细解析 (阅读:8716)
- linux内核研究笔记(一)内存管理 – page介绍 (阅读:8028)
- 几个内存相关面试题(c/c++) (阅读:7824)
- 内存越界的概念和调试方法 (阅读:6142)
- Innodb分表太多或者表分区太多,会导致内存耗尽而宕机 (阅读:6008)
- 必看!linux系统如何查看内存使用情况 (阅读:6020)
- 如何查看Linux 硬件配置信息 (阅读:5712)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:phpor <lijunjie1982@yahoo.com.cn> 来源: PHPor 的blog
- 标签: 内存
- 发布时间:2012-01-02 20:58:19
建议继续学习
近3天十大热文
- [15] 界面设计速成
- [14] 浏览器的工作原理:新式网络浏览器幕后揭秘
- [14] Android设计中的.9.png
- [13] iOS下自己动手造无限循环图片轮播
- [13] Spark性能优化——和shuffle搏斗
- [13] iOS可视化编程 Tips 之“无需代码设置
- [12] 我的git笔记
- [12] 最萌域名.cat背后的故事:加泰与西班牙政府
- [12] Go Reflect 性能
- [11] Python程序的执行原理