- 博客(14)
- 资源 (4)
- 收藏
- 关注
转载 MMAP和madvise的配套使用
本人做流媒体开发的,工作中需要将mpg文件转化成一定格式发送到网络,由于文件太大,程序用mmap()来实现文件的读取,但在实测过程中发现一个大问题,如下: 服务器配置: CPU:两颗至强3.0 内存:2G 磁盘:3个SATA硬盘组成磁盘阵列 测试时同时运行30个播放程序读取30个不同的mpg文件,程序起初运行画面播放非常流畅,几分钟过后,内存剩下15MB左右时,mmap
2012-10-31 17:36:01 6105 1
转载 c++中vector的用法详解[转]
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.用法: 1.文件包含: 首先在程序开头处加上#include以包含所需要的类文件vector 还有一定要加上using namespace std; 2.变量声明:
2012-10-31 14:48:55 849
转载 c++中的map
1.map的构造函数Map mapStudent;2. 数据的插入在构造map容器后第一种:用insert函数插入pair数据#pragma warning (disable:4786) )#include #include #include Using namespace std;Int main(){ Map mapStudent; mapSt
2012-10-31 14:41:44 451
转载 LINUX内存高,触发OOM-KILLER问题解决
最近遇到两起Linux的内存问题,其一是触发了oom-killer导致系统挂1. 首先确认该系统的版本是32位?#uname -aLinux alarm 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i3862. 我们了解
2012-10-31 11:25:29 1625
转载 LINUX内存相关的内核参数
linux控制内存的内核参数,大多放在在/proc/sys/vm目录下,主要分为几类: 控制内存cache 1、dirty_background_bytes/dirty_background_ratio 当dirty cache到了多少的时候,就启动pdflush进程,将dirtycache写回磁盘 当有dirty_background_byte
2012-10-31 11:23:04 885
转载 [深入理解C++(一)]类型转换(Type Casting)
[深入理解C++(一)]类型转换(Type Casting)罗朝辉 (http://blog.csdn.net/kesalin)CC许可,转载请注明出处类型转换就是将给定类型的表达式转换为另一种类型。C++中的转型可分为两种:隐式类型转换和显式类型转换。下面将一一介绍。一,隐式类型转换隐式类型转换是C中的遗留物,在C+
2012-10-31 08:46:53 576
转载 重写、覆盖、重载、多态几个概念的区别分析
override->重写(=覆盖)、overload->重载、polymorphism -> 多态 override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。重写(覆盖)的规则: 1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载. 2、重写方法的访问修饰符一定要大于被重写方
2012-10-31 08:45:41 510
转载 Java之本地方法
本地方法就是直接和硬件打交道的一个软件模块,由虚拟机来执行调用。当我们的JAVA应用程序声明了本地方法就会通过虚拟就调用本地方法,本地方法中主要是实现一些对硬件的处理。一、为什么会有本地方法呢?它的作用是什么?java使用起来非常方便,然而有些层次的任务用java实现起来不容易,或者我们对程序的效率很在意时,问题就来了。1>与java环境外交互: 有时java
2012-10-29 12:56:04 991
转载 代码的可充入性问题
2005 年 2 月 20 日如果要对函数进行并发访问,不管是通过线程还是通过进程,您都可能会遇到函数不可重入所导致的问题。在本文中,通过示例代码了解如果可重入性不能得到保证会产生何种异常,尤其要注意信号。引入了五条可取的编程经验,并对提出的编译器模型进行了讨论,在这个模型中,可重入性由编译器前端处理。在早期的编程中,不可重入性对程序员并不构成威胁;函数不会有并发访问,也没有中断。
2012-10-29 10:28:25 904
转载 编写可重入和线程安全的代码
原文地址: http:/unet.univie.ac.at/aix/aixprggd/genprogc/writing_reentrant_thread_safe_code.htm译者:Love. Katherine,2007-03-28译文地址:http://blog.csdn.net/lovekatherine/archive/2007/03/28/1544585.aspx
2012-10-29 10:19:16 844
转载 关于为什么整型不能和float,double型直接比较大小的原因
实型数据在内存中存在的时候是以指数形式储存的,一般前三个字节储存小数部分,后一个字节储存指数部分 比如380在内在中的储存是小数部分:0.38,指数部分:3,即0.38*10^3(这个与科学计数法不同),前面的是小数,在转换为二进制数时有时会出现误差(具体自己看小数转二进制数部分,可能出现无限循环),所以实型数据的储存并不准确 所以实型数据用一个字节来储存指数部分,只表示38位
2012-10-26 16:04:46 4031
转载 sqlite操作语句
建立数据库档案用sqlite3建立数据库的方法很简单,只要在shell下键入(以下$符号为shell提示号,请勿键入):$ sqlite3 foo.db如果目录下没有foo.db,sqlite3就会建立这个数据库。sqlite3并没有强制数据库档名要怎么取,因此如果你喜欢,也可以取个例如foo.icannameitwhateverilike的档名。
2012-10-26 13:45:31 13162 1
转载 Linux文件系统详解
1. Linux 磁盘分区和目录 Linux 发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。目录结构基本上都是一样的。 Windows 的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如: C , D , E , F 等。Linux 的文件结构是单个的树状结构 . 可以用 tree 进行展示。 在 Ubuntu 下安装 tree ( su
2012-10-24 10:11:21 1507
转载 linux下svn命令大全
1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下
2012-10-17 10:17:07 548
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人