`
firehoo
  • 浏览: 8166 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
一个最简HttpServer包含三个元素 Socket,Request,Response   1.Socket:设定接收网络传输的Ip和端口,建立连接并设定循环等待读取数据。 2.Request:对读入的inputstream进行解析,取得第一个空格符和第二个空格符中间部分作为uri。 3.Response:处理uri,判断是否存在,返回成功和出错信息。    附件:原书代码示例ex01

Hash Collision DoS

  Hash Collision DoS:由于java中的hash算法是非随机性的,会存在hash碰撞的问题。这样就可以利用这一弱点,来构造若干个value相同,但是key不相同的数据,这个时候hashMap就会退化为一个单向链表,使得在查询时计算复杂度由O(n)变为O(n*n),CPU负担加重,性能以指数级急剧下降。 影响: 一些应用服务器,比如tomcat在接收请求参数parameters时,是以一个hashMap来存储这些parameters的,Hash Collision DoS 这样就可以利用这一弱点进行攻击。 1.构造攻击数据: 字符串“Aa”和“BB”在java ...
  1.自旋锁:Spin Lock 当lock操作被阻塞时,线程并不是把自己立即挂起,而是间断性的做自旋(自循环)操作让cpu空转来等待其他线程释放lock2.顺序锁Seqlock允许读写并行。实现原理是通过设定一个计数器,当写操作进行时,将计数器原子的加1,在读操作开始和结束前,都去比较一下计数器的值,如果相等,说明未发生过写操作,如果不相等,则读操作从头进行一次。在写操作频繁的场景下,可能会导致读操作频繁的重复进行3.RCURead-Copy-Update写操作进行时,复制当前数据结构,申请新内存空间,然后对副本进行修改,将原数组内容复制到new空间中,赋新值,修改完毕后,写者修改原数据 ...
  从面向服务转为面向资源,从SOA转变为ROA,有什么好处? 感觉主要是以下几个方面:1.客户端更关心的是数据资源,并不关心服务的具体实现,所以面向资源的架构更符合用户需求。2.REST可以剥离上下文语境,更容易理解请求的真实意图。3.同样是语言无关,平台无关,SOA需要学习SOAP语法,要看大段的wsdl,增加了学习成本,同时暴露了一些技术细节。而REST只需要一个URL。4.SOA要声明ip和端口,不方便ip和端口的更换。5.REST的无状态特点使得它可以更好的利用缓存,提高性能,而SOA则难以很好的利用缓存。
数据的价值随着时间的流逝而降低,所以事件出现后必须尽快地对它们进行处理,最好数据出现时便立刻对其进行处理,发生一个事件进行一次处理,而不是缓存起来成一批处理。 原文: http://www.programmer.com.cn/9642/   Twitter首席工程师、Storm的作者Nathan Marz http://nathanmarz.com/blog/how-to-beat-the-cap-theorem.html  

半虚拟化技术

半虚拟化与全虚拟化的区别:   全虚拟化:guest系统每一次对于硬件的请求,都会由hypervisor(系统管理程序)接管,并转换成hypervisor的代码,由hypervisor负责对最终硬件进行操作。好处是guest系统每一次对于物理硬件的请求都会变为对hypervisor管理的虚拟硬件的请求,很好的隔离了guest系统与物理系统,当物理系统进行升级或者硬件更换时,无需修改guest系统。坏处则是每一指令转化会使得资源消耗过多。   半虚拟化:共享当前系统的硬件驱动,只负责guest系统请求的资源调度。好处是避免了对硬件请求的指令重写,提高了系统性能,有效的利用资源。坏处是每一次 ...

memory barrier

参考链接 http://www.unixresources.net/linux/clf/linuxK/archive/00/00/65/37/653778.html#article653778 http://bbs.pediy.com/archive/index.php?t-84326.html http://www.answers.com/topic/memory-barrier http://lxr.linux.no/linux+v3.0.1/Documentation/memory-barriers.txt#L42

关于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/Networking/HotSpot/onstack.html
Global site tag (gtag.js) - Google Analytics