diff --git a/Readme.md b/Readme.md index 7c7e4a3..4ed5dc3 100644 --- a/Readme.md +++ b/Readme.md @@ -37,6 +37,7 @@ - [26 Python的is](#26-python的is) - [27 read,readline和readlines](#27-readreadline和readlines) - [28 Python2和3的区别](#28-python2和3的区别) + - [29 猴子补丁](29-猴子补丁) - [操作系统](#操作系统) - [1 select,poll和epoll](#1-selectpoll和epoll) - [2 调度算法](#2-调度算法) @@ -82,7 +83,8 @@ - [20 HTTP1.0和HTTP1.1](#20-http10和http11) - [21 Ajax](#21-ajax) - [*NIX](#nix) - - [unix进程间通信方式(IPC)](#unixipc) + - [1 unix进程间通信方式(IPC)](#1-unix进程间通信方式ipc) + - [2 Linux文件类型](#2-Linux文件类型) - [数据结构](#数据结构) - [1 红黑树](#1-红黑树) - [编程题](#编程题) @@ -630,6 +632,8 @@ is是对比地址,==是对比值 ## 28 Python2和3的区别 推荐:[Python 2.7.x 与 Python 3.x 的主要差异](http://chenqx.github.io/2014/11/10/Key-differences-between-Python-2-7-x-and-Python-3-x/) +## 29 猴子补丁 +在Python中,猴子补丁是指在运行时根据补丁的意图以现有的方法对类进行动态修改,对于一缺陷或者某一不再符合你设计的特征在一外部类中作为一种变通方法,他充分利用了动态语言的灵活性。 # 操作系统 @@ -797,6 +801,7 @@ InnoDB 的趋势会是一个非常复杂的存储引擎,对于一些小的应 3. 最后,客户端再发送一个ACK。当服务端受到这个ACK的时候,就完成了三路握手,并进入了连接创建状态。此时包序号被设定为收到的确认号 A+1,而响应则为 B+1。 ## 2 四次挥手 +http://hackerxu.com/2014/11/16/TCP.html ## 3 ARP协议 @@ -948,7 +953,7 @@ AJAX,Asynchronous JavaScript and XML(异步的 JavaScript 和 XML), 是与 # *NIX -## unix进程间通信方式(IPC) +## 1 unix进程间通信方式(IPC) 1. 管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 2. 命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。 @@ -959,6 +964,14 @@ AJAX,Asynchronous JavaScript and XML(异步的 JavaScript 和 XML), 是与 7. 信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。 8. 套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。 +## 2 Linux文件类型 + +1. 普通文件 +2. 目录文件 +3. 字符设备或块设备文件 +4. 套接字文件 +5. 符号链接文件 +6. 管道文件 # 数据结构 @@ -972,6 +985,10 @@ AVL是严格平衡树,因此在增加或者删除节点的时候,根据不 所以简单说,如果你的应用中,搜索的次数远远大于插入和删除,那么选择AVL,如果搜索,插入删除次数几乎差不多,应该选择RB。 +2 B树 + +B树(英语:B-tree)是一种树状数据结构,能够用来存储排序后的数据。这种数据结构能够让查找数据、循序存取、插入数据及删除的动作,都在对数时间内完成。B树,概括来说是一个一般化的二叉查找树(binary search tree),可以拥有多于2个子节点。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作。B-tree算法减少定位记录时所经历的中间过程,从而加快存取速度。这种数据结构常被应用在数据库和文件系统的实作上。 + # 编程题 ## 1 台阶问题/斐波纳挈