GC.Collect()GC.WaitForPendingFinallizers()GC.KeepAlive尽量不要new很大的Object不要频繁的new生命周期很短的Object,这样会导致很多内存碎片引起频繁的压缩
分类:
其他好文 时间:
2014-05-05 21:47:03
阅读次数:
448
内存模型:
为了屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发结果。
分类:
编程语言 时间:
2014-05-05 21:32:28
阅读次数:
316
1.sgi STL"标准"的空间适配器: 该适配器很简单,只是对new
delete等内存分配释放函数的一层简单封装而已,所以sgi stl几乎没用上它(效率太低),代码位于defalloc.h.2.sgi stl特殊适配器
std::alloc: 该版本作为stl中的默认适配器,主要分成两个部分:...
分类:
其他好文 时间:
2014-05-04 12:41:42
阅读次数:
381
Erlang核心开发者Lukas Larsson在2014年3月份Erlang
Factory上一个演讲的听写稿,详细介绍了Erlang内存体系的原理以及调优案例。
分类:
其他好文 时间:
2014-05-03 23:40:47
阅读次数:
383
iOS设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象的话,那将会耗尽iOS设备的内存。要解决该问题,需要重用UITableViewCell对象重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableVie...
分类:
其他好文 时间:
2014-05-03 23:26:14
阅读次数:
312
参考文献:
http://blog.csdn.net/snlying/article/details/4005238返回情况
:返回的是一个void类型的指针,调用成功。(这就再你需要的时候进行强制类型转换)返回NULL,当需要扩展的大小(第二个参数)为0并且第一个参数不为NULL,此时原内存变成了...
分类:
其他好文 时间:
2014-05-03 22:46:37
阅读次数:
518
boost的智能指针给编程带来了极大的便利,不需要关心内存的释放,不要要调用delete,而且还可以定制delete的方法。其实boost的智能指针是可以当成scope_exit来用的,同样是退出时处理。但是凡事都是有利有弊,boost的shared_ptr如果在循环引用的时候会出现无法释放内存的情况,所谓循环引用就是A智能指针类里存放B的智能指针,B的智能指针类里存放A,将a、b的值互相设置。增...
分类:
其他好文 时间:
2014-05-03 21:06:19
阅读次数:
274
既然这样,段描述符表放在那里呢?80386中引入了两个新的寄存器来管理描述符表。一个是48位的全局描述符表寄存器GDTR,一个是16位的局部描述符表寄存器LDTR。那么,为什么有两个描述符表寄存器呢?
GDTR指向的描述符表为全局描述符表GDT。它包含操作系统中所有任务都可用的段描述符,通常包含描述操作系统所使用的代码段、数据段、堆栈段的描述符及各任务的LDT段等,全局描述符表只有一个。
LD...
分类:
其他好文 时间:
2014-05-03 21:03:23
阅读次数:
363
在实模式下寻址的时候,”段寄存器+偏移地址”进过转换计算以后得到的地址是“物理地址”,也就是在物理内存中的实际地址,而在保护模式下,“段选择器+偏移地址”转换后的地址被称为“线性地址”而不是“物理地址”,那么线性地址就是物理地址吗?
答案可能是,也可能不是,这取决于80386的内存分页机制是否被使用。
为什么有内存分页机制?
我们回顾一下,单任务的DOS系统中,一个应用程序可以使用所有的空闲...
分类:
其他好文 时间:
2014-05-03 20:56:39
阅读次数:
368
一直有看linux内核的冲动,内核有些部分是汇编编写的,无奈汇编不大懂,所以利用五一三天假期大概走了一边8086CPU架构的汇编,8086CPU还是16位的,我们现在都进入64位时代了,这两者之间有很大的区别,但是看看16位的CPU汇编还是很重要的,这有助于理解32位的80386CPU。这篇文章来分析下80386的内存管理的一些基础知识,包括实模式、保护模式和内存寻址等等。
1.实模式...
分类:
其他好文 时间:
2014-05-03 20:50:08
阅读次数:
410