随笔 - 75
文章 - 0
评论 - 190
阅读 -
29万
03 2012 档案
一道简单的面试题,据说90%人不能在30分钟内做出来
摘要:不知道是不是我引起的话题,老赵出了个O1的面试题。
// Please write an sequence list implements the interface with the required
// time complexity described in the comments. The users can add the same
// element as many times as they want, but it doesn't support the null item.
// You can use any types in .NET BCL but cannot use any 3rd party libraries.
// PS: You don't need to consider the multi-threaded environment.
阅读全文
随笔分类汇总目录
摘要:两年多的时间里写了一些东西,做个目录方便自己查找。也包含了自己打算写的一些东西。一.网络协议1.字节和字符,对信息进行编码2.分组报文,协议和Socket的概念3.Socket:流,TCP连接,TCP可靠性概述4.TCP和流5.关于TCP的可靠性6.用TCP/IP实现自己简单的应用程序协议:成帧器部分7.用TCP/IP实现自己简单的应用程序协议:其余部分(包括完整代码)8.用TCP/IP实现自己简单的应用程序协议:最后再返回来看HTTP协议9.由TCP的可靠性实现对比WCF中可靠性的实现(未完成)10.由传输过程中需要面对的问题探讨WCF中的“可靠性”二.多线程之旅1.多线程之旅——从概念开始
阅读全文
也谈Dependency Injection(依赖注入),依赖关系转移而不是消除(未完成)
摘要:DI 是一种理念,DI Container是实现DI这种理念的一种方式。把对象间的关系(Object graphy)集中管理1.可以转移到方法名,字符串,xml中。2.并没有使编程变得更简单,只是把一部分变得更抽象,显得更强壮了而已。3.IOC容器管理了对象的依赖关系,因此要在程序运行前启动。因为没有具体依赖的程序什么都不是。几种依赖注入的方式:
阅读全文
再谈select, iocp, epoll,kqueue及各种I/O复用机制 (转)
摘要:原文链接首先,介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchronous I/O (the POSIX aio_functions)blocking I/O 这个不用多解释吧,阻塞套接字。下图是它调用过程的图示: 重点解释下上图,下面例子都会讲到。首先application调用 recvfrom()转入kernel,注意kernel有2个过程,wait for data和copy data from kernel to
阅读全文
指向指针的指针和对引用对象使用ref
摘要:把引用对象作为参数传进一个方法,实际上是在栈上新分配了一块内存保存传入的地址。如图所示,把局部变量name传入M2方法后,栈上新开了一块内存S,用来保存"joe"的地址。其实拿string来说明不太合适,因为string类是不可变的。但是为借用CLR VIA C#中现成的图咱们就将就一下了。这时如果能够直接修改s所指向的内容的话(在C#中string是不可变类,无法演示),外部的局部变量name由于和形参s指向的是同一个对象,因此name也会改变。(图1)但是如果把s指向一个新的的string时,比如:void M2(string s){ s = "new str
阅读全文