雕刻时光

just do it……nothing impossible
随笔 - 547, 文章 - 0, 评论 - 82, 阅读 - 86万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

02 2014 档案

摘要:忽然顿悟了,不管三次握手,还是四次握手,这是保证信息来回两个链路可达(也就是信息能从A到B,也能从B到A)的最低要求。-2018-9-17-晚上九点 举个发送邮箱的例子: A : 你好 B 我是A,你可以收到我的邮件吗 B : 收到了,我是B,你有收到我的邮件吗 A : 嗯,我收到了 建立连接,开始 阅读全文

posted @ 2014-02-27 21:43 huhuuu 阅读(28626) 评论(7) 推荐(5) 编辑

摘要:开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了。 启动第二步--读取MBR 硬盘上第0磁道第一个扇区被称为M... 阅读全文

posted @ 2014-02-27 18:32 huhuuu 阅读(224) 评论(0) 推荐(0) 编辑

摘要:有5亿个int范围的数字,量太大不能直接存放到内存下,如何处理可以找出中位数 一般这种问题,可以考虑用分支的思想。 1、由于不能直接放在内存里,先将这int范围的数字划分成2^16个区,第一个区的范围是[0 , (2^32-1) / (2^16)),以此类推。 2、然后读入数据,分别将其累加到相应的分区。 3、依次统计分区,读到累加数字个数大于等于2.5亿的时候,说明中位数在这个分区。 4、重新读取所有数据,添加在这个分区范围的数据到数组中,对该数组排序就可以得到中位数了。 //有5亿个数字,量太大不能直接存放到内存下,如何处理可以找出中位数#include#include#i... 阅读全文

posted @ 2014-02-27 16:10 huhuuu 阅读(708) 评论(0) 推荐(0) 编辑

摘要:sizeof一个类的时候,都什么会被计算?静态成员会被计算进来么?如果这是一个子类,它的父类成员会被计算么? #include#includeclass base{ int a,b,c; static int x; //静态成员变量不会被计算 virtual void fun(){ //有虚函数的话,类中会增加一个虚函数指针 }};class son:public base{ int d,e,f; //对父类计算的时候,也会把继承过来的子类成员计算进去};int main(){ printf("%d\n",sizeof(base)); print... 阅读全文

posted @ 2014-02-27 15:07 huhuuu 阅读(124) 评论(0) 推荐(0) 编辑

摘要:前一段时间看了《深入理解Linux内核》对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识。我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个技术是怎么发展而来的,在这个技术之前存在哪些技术,这些技术有哪些特点,为什么会被目前的技术所取代,而目前的技术又解决了之前的技术所存在的哪些问题。弄清楚了这些,我们才能比较清晰的把握某一项技术。有些资料在介绍某个概念的时候直接就介绍这个概念的意义,原理,而对其发展过程和背后的原理丝毫不提,仿佛这个技术从天上掉下来的一样。介于此,还是以内存管.. 阅读全文

posted @ 2014-02-27 14:05 huhuuu 阅读(226) 评论(0) 推荐(0) 编辑

摘要:上面的图画将比较常用的协议显示出来了。下面更具体的各种协议。 阅读全文

posted @ 2014-02-27 09:53 huhuuu 阅读(215) 评论(0) 推荐(0) 编辑

摘要:shell :shell类似于 命令 与 linux之间的 解析器,因为命令不可以在cpu上直接执行,一般我们使用的是bash1。查看目前使用的是哪种shellenv : 可以看到目前linux的配置情况 2。查看当前系统下有几种shelllls bin/*sh3。改变目前使用的shellchsh -s 输入新的shell : 如 /bin/csh4。tab联想命令5。history : 查看历史使用的命令 阅读全文

posted @ 2014-02-26 23:09 huhuuu 阅读(177) 评论(0) 推荐(0) 编辑

摘要:1.linux下的分区一块硬盘的情况下:主分区+扩展分区 <= 4扩展分区不能直接使用,需要分成逻辑分区才能使用逻辑分区数量无限制linux的分区机制:2.跟分区有关的常用命令查看硬盘的分区情况:fdisk -l各个分区的情况:df -h挂载命令:mount [-参数] [设备名称] [挂载点]如 mount /dev/sda1 /home/test :就是将/dev/sda1 (分区) 挂载到/home/test下卸载命令:umount [挂载点]如 umount /home/test参考:http://www.jiaochengku.net/xitong/2012/1105/2252 阅读全文

posted @ 2014-02-26 21:49 huhuuu 阅读(212) 评论(0) 推荐(0) 编辑

摘要:文件权限及用户组:如何在linux中添加组: groundadd 组名查看linux中所有组的信息(cat 表示只读) : cat /etc/group添加用户到相应的组: useradd -g 组名 用户名修改用户使之到指定的组: usermod - g 组名 用户名查看linux中的所有用户信息:vi /etc/passwdcat /etc passwd文件的访问权限ls -l:查看文件的权限情况- rw- r-- r--第一位 : 文件的类型 (-:表示文件,d:表示目录,l:表示连接)第二位到第四位:文件所有者对该文件的权限第五位到第七位:文件所在组对该文件的权限第八位到第十位:其他. 阅读全文

posted @ 2014-02-26 20:24 huhuuu 阅读(241) 评论(0) 推荐(0) 编辑

摘要:一.背景 最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。 通过这段描述可以看出来,最小二乘法也是一种优化方法,求得目标函数的最优值。并且也可以用于曲线拟合,来解决回归问题。难怪《统计学习方法》中提到,回归学习最常用的损失函数是平方损失函数,在此情况下,回归问题可以著名的最小二乘法来解决。看来最小二乘法果然是机器学习领域做有名和有效的算法之一。二. 最小二乘法 . 阅读全文

posted @ 2014-02-21 20:27 huhuuu 阅读(1155) 评论(0) 推荐(0) 编辑

摘要:混沌理论,一个简单的方程,设置初值,就可以演化出一个复杂的系统。 自然中树的分支,河流的分支,人体肺叶的分支,大脑神经的分支,似乎都是一个点不断迭代的过程。 宇宙其实不需要把各个星球都设计好,其实只要给定一个方程,给予初始,就可以演化如今复杂的系统。 大开眼界! 阅读全文

posted @ 2014-02-21 19:37 huhuuu 阅读(202) 评论(0) 推荐(0) 编辑

摘要:线程存在的意思:计算机中的设计无非是节约空间,二来节约时间。而线程的存在就是既可以节约空间也可以节约时间。当一个进程有多个线程,而计算机又有多个CPU的时候,不同的线程可以在不同的CPU中并发执行!同时,进程间通信会涉及管道(pipe)和有名管道(FIFO),信号(signal),消息队列,共享内存,信号量,套接字(socket) 等,比较麻烦,但是线程间通信就简单多了,因为是共享内存的,所以直接访问相应的内存就可以了。 同时线程是轻量级的,线程的申请释放的资源消耗远低于进程的申请释放。 线程同步的意义:并发执行的目的是为了更高效得利用CPU资源,但是,并发执行也会有问题发生。比如两个线... 阅读全文

posted @ 2014-02-21 16:50 huhuuu 阅读(229) 评论(0) 推荐(0) 编辑

摘要:http://wenda60.com/?programs.exam/a0bb3b20flzEY8AwZTTUBHBlYBUlRVAFMBVUpFSw题目描述完美世界最新的客户端游戏大作笑傲江湖最近已经开始测试了,由于希望参与的玩家太多,只能使用激活码的方式让一部分玩家可以参与测试,现在需要一个测试码的生成规则。如从一组不重复的数字中获得随机几个数字组成验证码,其中只要是这些数字相加的和为相同的那么就认为是同一组验证码,最后希望获得一共有多少组有效验证码。现在希望获得从一组N不同的数字中,获得和为C的组个的个数。组合的个数有可能是1个有可能是N个。输入格式第一行输入1个整数M,表示总得数据组数。 阅读全文

posted @ 2014-02-20 23:01 huhuuu 阅读(271) 评论(0) 推荐(0) 编辑

摘要:这里的问题其实问的是对堆与栈的数据访问有什么不同。 观察如下代码:#include#includeusing namespace std;int main(){ int a; int *pb=(int*)malloc(sizeof(int)); a=1234; *pb=123456; return 0;} 在观察汇编的情况: 明显观察到,对栈数据赋值,直接将数据放到目标地址。而堆中的数据,先把pb的值放到寄存器中,再把值放到寄存器所指向的地址。 总结:对与堆内存的访问比栈内存的访问多一个步骤。 阅读全文

posted @ 2014-02-16 17:11 huhuuu 阅读(608) 评论(0) 推荐(0) 编辑

摘要:有时候,我们需要提取一个图像的边缘利于计算。 opencv实现了Canny边缘检测的函数,方便调用。Canny算子的原理是首先在x,y方向求一阶导数,然后组合为4个方向的导数。这些方向的导数达到局部最大值的点就是组成边缘的候选点。 1.1cvCanny函数:CVAPI(void) cvCanny( const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size CV_DEFAULT(3) ); 第一个参数:输入:是灰度图,就... 阅读全文

posted @ 2014-02-06 16:15 huhuuu 阅读(20368) 评论(6) 推荐(0) 编辑

点击右上角即可分享
微信分享提示