- 博客(8)
- 资源 (10)
- 收藏
- 关注
原创 【How Tomcat Works】【一】最简服务器原理
一个最简HttpServer包含三个元素Socket,Request,Response 1.Socket:设定接收网络传输的Ip和端口,建立连接并设定循环等待读取数据。2.Request:对读入的inputstream进行解析,取得第一个空格符和第二个空格符中间部分作为uri。3.Response:处理uri,判断是否存在,返回成功和出错信息。 附件:原书代码示例ex...
2012-08-18 23:14:24
137
原创 Hash Collision DoS
Hash Collision DoS:由于java中的hash算法是非随机性的,会存在hash碰撞的问题。这样就可以利用这一弱点,来构造若干个value相同,但是key不相同的数据,这个时候hashMap就会退化为一个单向链表,使得在查询时计算复杂度由O(n)变为O(n*n),CPU负担加重,性能以指数级急剧下降。影响:一些应用服务器,比如tomcat在接收请求参数param...
2012-08-12 20:23:41
169
原创 lock free在linux中的三种应用场景
1.自旋锁:Spin Lock当lock操作被阻塞时,线程并不是把自己立即挂起,而是间断性的做自旋(自循环)操作让cpu空转来等待其他线程释放lock2.顺序锁Seqlock允许读写并行。实现原理是通过设定一个计数器,当写操作进行时,将计数器原子的加1,在读操作开始和结束前,都去比较一下计数器的值,如果相等,说明未发生过写操作,如果不相等,则读操作从头进行一次。在写操作频繁的场景下,可能...
2012-08-12 20:17:45
298
原创 SOA向REST的转换
从面向服务转为面向资源,从SOA转变为ROA,有什么好处?感觉主要是以下几个方面:1.客户端更关心的是数据资源,并不关心服务的具体实现,所以面向资源的架构更符合用户需求。2.REST可以剥离上下文语境,更容易理解请求的真实意图。3.同样是语言无关,平台无关,SOA需要学习SOAP语法,要看大段的wsdl,增加了学习成本,同时暴露了一些技术细节。而REST只需要一个URL。4.SOA要声明...
2012-02-01 22:22:13
189
原创 数据流计算理念
数据的价值随着时间的流逝而降低,所以事件出现后必须尽快地对它们进行处理,最好数据出现时便立刻对其进行处理,发生一个事件进行一次处理,而不是缓存起来成一批处理。原文:http://www.programmer.com.cn/9642/ Twitter首席工程师、Storm的作者Nathan Marzhttp://nathanmarz.com/blog/how-to-beat-th...
2012-01-22 12:13:17
237
原创 半虚拟化技术
半虚拟化与全虚拟化的区别: 全虚拟化:guest系统每一次对于硬件的请求,都会由hypervisor(系统管理程序)接管,并转换成hypervisor的代码,由hypervisor负责对最终硬件进行操作。好处是guest系统每一次对于物理硬件的请求都会变为对hypervisor管理的虚拟硬件的请求,很好的隔离了guest系统与物理系统,当物理系统进行升级或者硬件更换时,无需修改guest系...
2012-01-21 21:23:36
982
原创 memory barrier
参考链接http://www.unixresources.net/linux/clf/linuxK/archive/00/00/65/37/653778.html#article653778http://bbs.pediy.com/archive/index.php?t-84326.htmlhttp://www.answers.com/topic/memory-barrier...
2011-08-06 23:19:38
94
原创 关于OSR
代码执行机制http://www.linuxidc.com/Linux/2011-05/36506.htm设计OSR栈上替换的部分http://www.ibm.com/developerworks/cn/java/j-jtp12214/#author一个OSR栈上编译的例子http://java.sun.com/developer/technicalArticles/Net...
2011-07-31 23:08:13
716
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人