- 博客(13)
- 资源 (17)
- 收藏
- 关注
原创 《深入理解计算机系统》笔记(五)并发、多进程和多线程【Final】
该书中第11章是写web服务器的搭建,无奈对web还比较陌生。还没有搞明白。 这些所谓的并发,其实都是操作系统做的事情,比如,多进程是操作系统fork函数实现的、I/O多路复用需要内核挂起进程、多线程需要内核创建和挂起线程。我么只是使用以下操作系统的这项并发技术。但是我们必须处理一些存在问题。 ●进程。用这种方法,每个逻辑控制流都是一个进程,由内核来调度和维护。因为进程有独立的
2013-05-29 14:05:04 4921 1
原创 nonatomic,atomic和volatile 关键字
本博客对下面四中情况,进行真机测试: ●类中变量 int cant ●类中 volatile 变量int cnt ●类中 nonatomic 属性int cnt ●类中 atomic 属性int cnt 关于volatile关键字可以参考:C语言中的Volatile关键字。意思是:volatile告诉编译器,计算变量i时,每次强制使用内存中的值
2013-05-28 17:59:00 3134
原创 《深度探索C++对象模型》笔记(三)构造函数、拷贝构造和初始化列表
看了这一章后发现:原来最难搞懂的是拷贝构造函数。2.1默认构造函数. C++标准是这么说的:对于class X,如果没有任何user-decleared-constructor,那么会有一个default constructor被暗中(implicitly)声明出来。。。。一个被暗中声明出来的default constructor将是一个trival(无用的) const
2013-05-25 20:32:07 2739
原创 《深入理解计算机系统》笔记(四)虚拟存储器,malloc,垃圾回收【插图】
概述 ●我们电脑上运行的程序都是使用虚拟存储,跟物理内存根本不搭边。 ●既然虚拟内存是在磁盘上的,为什么它又运行这么好,并没有感觉卡顿?这要感谢程序的局部性! ●虚拟存储器的调度是一个操作系统必须做好的事情!不然程序就会慢的跟蜗牛一样。 ●垃圾收集器就是一个动态分配器,它自动释放这些程序不再需要的已分配的块。
2013-05-24 17:49:32 5776
原创 《深入理解计算机系统》笔记(三)链接知识【附图】
概述 ●该章节主要讲解的是ELF文件的结构。 ●静态库的概念 ●动态库(又叫共享库)的概念,一般用于操作系统,普通应用程序作用不大。 ●程序的加载过程。 该书中对链接的解释也不够详细。在章节最后,作者也承认:在计算机系统文献中并没有很好的记录链接。因为链接是处在编译器、计算机体系结构和操作
2013-05-23 16:19:03 6318 2
原创 《深度探索C++对象模型》(二)C++,new,delete,构造/析构,临时对象
前期blog请点击 《深度探索C++对象模型》侯捷译——笔记(一) 即使父类的析构函数设置为虚函数,那么当父类指针指向子类对象的时候,也有不能够正确析构的情况。比如Point* ptr = new Point3d[10];六、执行期语意学该章节三个知识点比较重要:第一对象的构造和析构,第二new和delete运算符 第三个是:临时变量。---》C++支持栈上的对象,所以栈上的变量的
2013-05-18 15:11:28 2605 1
原创 《深入理解计算机系统》笔记(二)内存和高速缓存的原理【插图】
《深入计算机系统》笔记(一)主要是讲解程序的构成、执行和控制。接下来就是运行了。我跳过了“处理器体系结构”和“优化程序性能”,这两章的笔记继续往后延迟! 《深入计算机系统》的一个很大的用处是:给了我们很多定义式的解释,或者称之为科学的解释,这将成为我的理论依据;不再是网上一些自称老手的闲聊了。不愧是计算机最牛逼的大学卡内基-梅隆大学的教材。 该blog跳过第四章CPU的结构
2013-05-17 16:50:46 9145
转载 C语言中的volatile关键字
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 a)用volatile关键字声明的变量volatile int i; 每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。 b)没有用vo
2013-05-17 14:26:06 1735
原创 AT&T和其他美国电信运营商。
写这篇blog的初衷是:我在《深度探索C++对象模型》和《深入了解计算机系统》两本书中都有提及AT&T这个公司。AT&T曾经还有汇编代码格式,通常我们学到的汇编语言是intel和microsoft的格式。intel格式省略一个字符。举一个例子: AT&T格式: movl 寄存器%esp intel 格式: mov 寄存器esp A
2013-05-15 17:16:44 2895
原创 【芬兰】Nokia 和 Linus系统的发源地。
【芬兰】Nokia 和 Linus系统的发源地。除了Nokia,还有“芬欧汇川集团”(UPM-Kymmene)是世界第三大纸和纸制品生产商,具有百年历史,在芬拥有93万公顷森林,年平均消费林材24万立方米。主要生产纸张纸浆、纸板和包装薄膜。2008年有雇员2.4万人,净销售额95亿欧元,盈利10.6亿欧元。1999年在江苏投资6亿美元建立芬欧汇川(常熟)纸厂,年产35万吨优
2013-05-15 16:58:23 1897
原创 《深入理解计算机系统》笔记(一)栈【插图】
读后感 这本书是美国“卡内基-梅隆大学(CMU)”的教科书,逻辑严谨。虽然是教科书,还是有些晦涩难懂啊,不太形象。第二章主要讲整数,浮点数,很是晦涩,全是数学公式。作者的思维数学的思维,动不动就是n、m、k、∑等等,让我们数学很烂的同学如何是好。如果能以普通人的思维把数学知识加进去就好了。 该书确实系统的介绍了计算机,很完善。它能给你以下几个重要级别的模型和过程
2013-05-15 16:33:26 8765
原创 把内存中的值以16进制输出
传统的做法是,请看下面两个函数。typedef unsigned char u_char;void convert(u_char* src,int length){ char* des = (char*)malloc(length*2+1);//多出的一个用来存放\0 int i=0; for(;i<length;i++) { u_char
2013-05-12 11:15:57 3540
原创 《深度探索C++对象模型》(一)对象模型、存储形式;默认构造函数一定会构造么?
一)、读后感 在我参加工作两年多的时候,工作不算很忙了,《深入理解C++对象模型》开始进入我的视野;或许是因为我要从Symbian.C++ 转向iOS Objective-C,并开始思考语言本身的一些东西的缘故。 其实在一年前,出于对C++的迷惑,我已经买了这本书。当时翻了几页竟然没懂,就搁那儿了!可是现在,它让我随身携带、流连忘返、是个旅途好伴侣;看到它我精神抖擞,它给了我继
2013-05-11 23:02:58 6018 10
树tree、动态数组dyArray、hashMap、拼图算法
2014-08-15
core-data和sqlite3性能对比demo
2013-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人