- 博客(15)
- 资源 (1)
- 收藏
- 关注
转载 浅谈 C++ 中的 new/delete 和 new[]/delete[]
在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢?new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete 吗?为什么 new [] 出来的数组有时可以用 delete 释放有时又不行?…如果你对这些问题都有疑问的话,
2016-02-25 10:49:29
252
原创 进程间通信之管道
无名管道(pipe)1,管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道2,只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);3,单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。4,数据的读出和写入:一个进程
2016-02-24 17:23:44
419
原创 Unix高级IO之多线程编程 ——pthread解析
线程线程包含了表示进程内执行环境必须的信息,其中包括进程中标识线程的线程ID、一组寄存器值、栈、调度优先级和策略、信号屏蔽字、errno变量以及线程私有数据。进程的所以信息对该进程的所有线程都是共享的,包括可执行的程序文本、程序的全局内存和堆内存、栈以及文件描述符。标识:每个线程都有一个线程ID,且该ID只在它所属的进程环境中有效。获得自身的线程ID:#
2016-02-24 13:42:26
522
原创 Unix高级IO之多线程编程 ——可重入函数与不可重入函数
定义 可重入:主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误不可重入:由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。编写可重入函数
2016-02-23 20:02:17
417
原创 Unix高级IO之多线程编程 ——用户级线程和内核级线程
内核级线程由操作系统内核创建和撤销。内核维护进程及线程的上下文信息以及线程切换,即切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;Windows NT和2000/XP支持内核线程。特点:1,可以很好的利用smp,即利用多核cpu 2,一个内核线程由于I/O操作而阻塞,不会影响其它线程的运行。
2016-02-23 16:54:49
977
原创 Unix高级IO之非阻塞I/O
定义非阻塞I/O使我们可以调用open、read、write等I/O操作,并使这些操作不会永远阻塞。如果这种操作不能完成,则调用立即出错返回,表示该操作如继续执行将会阻塞。方法对于一个给定的描述符指定非阻塞I/O:1,如果调用open获得描述符,则可指定O_NONBLOCK标志2,对于已经打开的一个描述符,则可以调用fcntl,由该函数打开O
2016-02-23 15:17:44
614
原创 Unix高级IO之IO复用———select函数
在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核: •我们所关心的文件描述符 •对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常) •我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待)
2016-02-23 14:40:18
312
原创 Linux常用命令(一)
nc功能说明:功能强大的网络工具语 法:nc [-hlnruz][-g][-G][-i][-o][-p][-s][-v...][-w][主机名称][通信端口...]参 数: -g网关> 设置路由器跃程通信网关,最丢哦可设置8个。 -G指向器数目> 设置来源路由指向器,其数值为4的倍数。 -h 在线帮助。 -i延迟秒数> 设置时间间隔
2016-02-23 13:34:27
240
原创 进程间关系
文中用到的缩写PID = 进程ID (由内核根据延迟重用算法生成)PPID = 父进程ID(只能由内核修改)PGID = 进程组ID(子进程、父进程都能修改)SID = 会话ID(进程自身可以修改,但有限制,详见下文)TPGID= 控制终端进程组ID(由控制终端修改,用于指示当前前台进程组)子进程与父进程由fork创建的新进程称为子进程,调用fork函数的进
2016-02-23 13:02:42
507
原创 mysql学习笔记
一些命令#排序select * from table order by id; #按照id顺序排序selecy * from table group by id; #按照id进行分组 #索引primary key #主键unique key #唯一键key #普通索引,用来对数据完整性和唯一性做约束 #联结join...on... #联接两张表left join #左联
2015-08-19 15:41:21
477
原创 git使用笔记
写在前面我们采用 Git 版本控制系统管理代码,其免费、开源、分布式非中心化的特点令其愈发流行。官网 http://git-scm.com 上有很详细的使用文档,Pro Git 是一本很不错的入门书。入门使用示例# 安装gitapt-get install git# clone远程repo到本地git clone git@git.codin
2015-08-19 15:38:59
292
原创 ssh在git上配置使用
安装sshsudo apt-get install openssh-server生成ssh的公钥密钥终端输入命令行:ssh-keygen (中间没有空格)会提示Enter file in which to save the key: 输入你想保存公钥密钥的名字(比如:ssh_key)接着提示:Enter passphrase(empty for no passphrase):
2015-08-19 15:32:48
902
原创 nginx学习笔记
入门使用示例# 安装nginxsudo apt-get install nginx # 启动nginx服务,用浏览器访问80端口就可以看到默认网站了sudo /etc/init.d/nginx start # 停止nginx服务sudo /etc/init.d/nginx stop # 重启nginx服务sudo /etc/init.d/nginx restart # 重新加载
2015-08-19 15:28:46
312
原创 机器学习笔记之AdaBoost算法
近来在看关于特征提取的基础知识,学到了AdaBoost提升算法。由于刚入门,理解起来特费劲,几天的琢磨,终于弄懂个所以然,故以博文记之,方便后续的回顾与查看。本人水平有限,所以内容理解难免有些不妥,希望大家可以提出,帮忙改进。1,AdaBoost的基本思路 最简单的说法就是,对一个复杂的任务,给多个人做判断,然后按照不同人的等级(例如有的是农民,有的是学生,有的是教
2015-08-19 14:57:36
485
转载 大数据/数据挖掘/推荐系统/机器学习相关资源
原文来自:https://github.com/Flowerowl/Big-Data-Resources最近在看推荐系统,并无意间看到了这个贴,也不知是哪位大牛整理发出,对大家的学习带来了极大的方便。所以转载到此,希望能为更多的学习者带来帮助,也希望大家多多交流,多多探讨原文如下:大数据/数据挖掘/推荐系统/机器学习相关资源Share my personal resourc
2015-03-20 16:20:03
829
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人