前言因为直接学了C++,所以对C的一些细节了解不是很清楚,于是在这里补充一点小知识——动态内存分配,C++中相关的是new和delete,而C中相关的是malloc、calloc、realloc和free。注:alloc代表allocate,意为“分配”。deletep和delete[]p的区别这是...
分类:
其他好文 时间:
2014-06-11 07:47:21
阅读次数:
266
(1)vm.overcommit_memory执行grep -i commit
/proc/meminfo看到CommitLimit和Committed_As参数。CommitLimit是一个内存分配上限,CommitLimit =
物理内存 * overcommit_ratio(默认50,即50%...
分类:
其他好文 时间:
2014-06-09 20:39:30
阅读次数:
609
在Coding时突然想起了声明与初始化的内存分配的一些问题,有些地方已经模糊了:查阅了一点资料; 关于基本类型的初始化问题,根据Thinking in
Java中所表示: 类的成员变量是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值基本类型 默认值 ...
分类:
编程语言 时间:
2014-06-09 14:45:57
阅读次数:
222
今天说说使用ffmpeg在写视频编码程序中踩的一个坑,这个坑让我花了好多时间,回头想想,很多时候一旦思维定势真的挺难突破的。使用ffmpeg做视频编码过程中,首先要新建数据帧,并为数据帧分配相应内存,以便于保存图像数据,为数据帧分配内存需要用到av_image_alloc()这个函数,该函数将根据传入的图像宽、高、图像格式、数据对齐基数等参数进行内存分配。...
分类:
其他好文 时间:
2014-06-08 02:16:40
阅读次数:
315
存储管理的基本原理内存管理方法内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和原理。1.
连续分配存储管理方式连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区式储管理...
分类:
其他好文 时间:
2014-06-06 13:30:59
阅读次数:
240
特殊工具与技术--优化内存分配[续1]三、operator new函数和operator delete 函数– 分配但不初始化内存 首先,需要对new和delete表达式怎样工作有更多的理解。当使用new表达式 string *sp = new string("initialized");
的时候,实际上发生三个步骤: 1)首先,表达式调用名为operatornew 的标准库函数,分配足够大...
分类:
编程语言 时间:
2014-06-04 13:42:19
阅读次数:
453
特殊工具与技术--优化内存分配引言: C++的内存分配是一种类型化操作:new为特定类型分配内存,并在新分配的内存中构造该类型的一个对象。new表达式自动运行合适的构造函数来初始化每个动态分配的类类型对象。 new基于每个对象分配内存的事实可能会对某些类强加不可接受的运行时开销,这样的类可能需要使用用户级的类类型对象分配能够更快一些。这样的类使用的通用策略是,预先分配用于创建新对象的内存,需要时在...
分类:
编程语言 时间:
2014-06-02 18:50:59
阅读次数:
464
我在前面的博客中分别使用C语言的动态数组和链表实现了学生成绩管理系统,最近正好在学习C++,于是我便使用C++实现了学生成绩管理系统,算法和前面的C语言的动态数组实现的学生成绩管理系统差不多,只是在动态内存分配上使用了C++的New,而C语言中使用的是malloc,在排序中使用了插入排序
我的使用C语言实现的学生成绩管理系统:http://blog.csdn.net/u010105970/art...
分类:
编程语言 时间:
2014-06-01 13:00:05
阅读次数:
447
LRU算法,即Last Recently Used ---选择最后一次访问时间距离当前时间最长的一页并淘汰之——即淘汰最长时间没有使用的页
按照最多5块的内存分配情况,实现LRU算法代码如下:
public class LRU {
private int theArray[];
private int back; //定义队尾
private int currentS...
分类:
编程语言 时间:
2014-06-01 02:14:41
阅读次数:
316