摘要: 原文:http://blog.sina.com.cn/s/blog_6d677b680100ti46.html程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。... 阅读全文
posted @ 2012-04-03 19:00 Gwa 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 原文:最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生,以达到节约资源的目的; 第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。 2. 阅读全文
posted @ 2012-04-03 12:49 Gwa 阅读(141) 评论(0) 推荐(0) 编辑
摘要: hash:桶式散列是典型例子。动态哈希见http://www.cnblogs.com/kegeyang/archive/2012/04/05/2432608.html线性索引:经常用于按primary key给记录排序,一般是索引排序,记录不动,索引链到记录。。倒排索引:(1)基于属性的倒排。用来索引文件中的数据记录(2)基于正文的倒排,用于检索文档。静态索引:多分树。包括数据区和索引区。数据插入删除不方便,数据区满了的时候要开溢出区链过去。动态索引:B树,B+树…… 阅读全文
posted @ 2012-04-03 12:40 Gwa 阅读(240) 评论(0) 推荐(0) 编辑