代码改变世界

抓包分析TCP的三次握手和四次分手

2015-08-31 00:18 by F_Code, 2076 阅读, 0 推荐, 收藏, 编辑
摘要:一:三次握手 三次的握手的过程是: 1.由发起方HostA向被叫方HostB发出请求报文段,此时首部中的同步位SYN=1,同时选择一个序列号seq=x。TCP规定,SYN报文(即SYN=1的报文段)不能携带数据,但要消耗一个序列号。这时,TCP客户端进程进入SYN-SENT(同步已发送)状态。 2.HostB收到连接请求报文后,如同意建立连接,则向HostA发送确认。在确认报文段中应把SYN... 阅读全文

单例模式

2015-08-26 17:23 by F_Code, 248 阅读, 0 推荐, 收藏, 编辑
摘要://线程不安全的单例模式 public class Singleton { private static Singleton singleton = null; public static Singleton Single { get { if (singleton ==... 阅读全文

HTTP协议详解

2015-08-22 14:39 by F_Code, 364 阅读, 0 推荐, 收藏, 编辑
摘要:引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持... 阅读全文

如何管好.net的内存(托管堆和垃圾回收)

2015-08-19 14:44 by F_Code, 781 阅读, 0 推荐, 收藏, 编辑
摘要:一:C#标准Dispose模式的实现 需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象; 非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等; 毫无例外地,如果我们的类型使用到了非托管资源,或者需要显式释放的托... 阅读全文

对CLR异常和状态管理的一点理解

2015-08-15 14:13 by F_Code, 424 阅读, 0 推荐, 收藏, 编辑
摘要:一:自己的感悟 今天读到《CLR via C#》的异常和状态管理这一章,作者给出了关于异常处理的诸多建议,里面有一些建议自己深有体会,比如说使用可靠性换取开发效率这一节。之前自己对异常怎么处理也有过自己的思考,归纳了一下主要有以下几点: 1.不要什么异常都捕捉,只有在自己不确定这段代码会不会有问题时才去捕捉异常,大部分的异常应该在开发测试阶段就消灭 2.异常在没有发生时异常对程序的效率没什么... 阅读全文

概率算法总结

2015-08-14 21:26 by F_Code, 395 阅读, 0 推荐, 收藏, 编辑
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace Leetco... 阅读全文

关于进程间通信的总结(IPC)

2015-08-14 16:28 by F_Code, 677 阅读, 0 推荐, 收藏, 编辑
摘要:一:三个问题 进程间通信简单的说有三个问题。第一个问题是一个进程如何把信息传递给另一个。第二个要处理的问题是是,要确保两个或更多的的进程在关键互动中不会出现交叉(即是进程互斥的问题),第三个问题是与正确的顺序有关(即是进程之间的同步问题)。 二:信号量及PV操作 解决互斥进入临界区分为两种解决方案,软件解决方案和硬件解决方案,软件解决方案有Peterson解法,硬件解决方案有TSL指令, X... 阅读全文

使用条件量解决生产者消费者问题

2015-08-13 19:39 by F_Code, 419 阅读, 0 推荐, 收藏, 编辑
摘要:在linux多线程同步中,除了互斥量以外,pthread提供了另一种同步机制:条件变量。正如名字一样,条件量允许线程由于一些未达到的条件而阻塞。 条件变量与互斥量经常一起使用。这种模式用于让一个线程锁住一个变量,然后当它不能获得它期待的结果时等待一个条件变量。最后另一个线程会向他发出信号,使它可以继续执行。pthread_cond_wait原子性地调用并解锁它持有的互斥量。由于这个原因,互斥量是... 阅读全文

JS总结

2015-08-11 18:17 by F_Code, 209 阅读, 0 推荐, 收藏, 编辑
摘要:一:arguments.callee 二:Prototype 四:闭包 阅读全文

LeetCode:Flatten Binary Tree to Linked List

2015-08-10 21:59 by F_Code, 116 阅读, 0 推荐, 收藏, 编辑
摘要://LeetCode:https://leetcode.com/problems/flatten-binary-tree-to-linked-list/ //Flatten Binary Tree to Linked List 114 //前序遍历,last是链表最后一个节点,然后使用前序遍历,遍历一个节点就在last插入这个节点 //在遍历的过程中树的结构会被打乱... 阅读全文