摘要:
XML解析技术常用的就是DOM和SAX,DOM(Document Object Model)即文档对象模型,将xml文件整体解析为内存中的特定数据结构,然后再对该内存中的数据机构进行操作(增删改查),SAX(Simple API for XML)即简单XML API,以流的方式读取xml文档,并以事 阅读全文
摘要:
epoll是Linux高效网络的基础,比如event poll(例如nodejs),是使用libev,而libev的底层就是epoll(只不过不同的平台可能用epoll,可能用kqueue)。epoll能够高效支持百万级别的句柄监听。 select需要轮询所有fd才能得知哪些fd有事件发生(在fd很 阅读全文
摘要:
1 public AsynchronousSocketChannel openAsynchronousSocketChannel(AsynchronousChannelGroup group) 2 throws IOException 3 { 4 return new UnixAsynchronou 阅读全文
摘要:
策略模式 所谓策略模式,就是将通用逻辑中的一部分逻辑抽象出来,这部分被抽象出来的逻辑会根据问题的不同而发生变化(具体实现不唯一)。 命令模式 用于“行为请求者(命令发出者)”与“行为实现者(具体的命令)”解耦,可实现二者之间的松耦合,以便适应变化。 如果将命令模式中的Receiver(TV)去掉就是 阅读全文
摘要:
FileOutputStream.writeBytes 来看FileOutputStream是如何writeBytes的 由上面的c代码可以发现,java在写文件时首先需要将java堆中的数据(java堆中的字节数组)复制到用户空间的一个临时缓存中(由c代码申请的字节数组),然后再由c代码进行真正的 阅读全文
摘要:
在理想的传输条件下是不需要tcp这类协议来保证可靠传输的,所谓理想是指: 传输过程中数据不会出错、丢失(现在的网络质量很好,这种情况多数不会出现); 不论发送端多块发送,接收端都可以接收(这是主要问题)。 但真实传输条件远不能达到理想情况,所以才需要tcp来保证可靠传输。 可靠传输的工作原理 ARQ 阅读全文
摘要:
传输层为其上面的应用层提供通讯服务,它属于面向通信的最高层,也属于面向用户应用的最底层,所以非常重要! ip层作用于主机间(定位至主机),而传输层作用于应用进程间(定位至端口),端到端通信就是指两个应用进程间的通信。发送端中应用层传来的报文由传输层统一处理,接收端中传输层传来的报文会分发给不同的应用 阅读全文
摘要:
单例模式 工厂模式 工厂模式可以屏蔽产品生产的细节(工厂生产产品本身是很复杂的,可能又会涉及其他产品的生产,这些细节都由工厂来保证),同时将产品的具体实现与客户解耦,工厂是用来生产产品的,如何提升工厂的扩展性(方便的加入新工厂、新产品)是工厂模式要注意的。 简单工厂模式 工厂方法模式 抽象工厂模式 阅读全文
摘要:
由于http是无状态协议,所以如果要维持client和server之间的会话(比如维护一个登录状态),就需要付出额外的努力,这就是cookie、session所做的努力。 cookie是在client存储用户信息,优势在于减轻了server的负担,劣势在于安全性低(如果用户B得到了用户A的cooki 阅读全文
摘要:
表结构优化 表中尽量使用短字段、数字类型的列, 比如ip可以通过inet_aton函数转换成int型,转换规则,a.b.c.d 的ip number是:a * 256的3次方 + b * 256的2次方 + c * 256的1次方 + d * 256的0次方; 垂直分表,即将原表中的列根据业务拆分为 阅读全文