摘要: 一、相关概念基本回收算法引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需要暂停整个应用,同时,会产生内存碎片。复制(Copying)此 算法把内存空间划为两个相等的区域,每次只使用其中一个区域。垃圾回收时,遍历当前使用区域,把正在使用中的对象复制到另外一个区域中。次算法每次只处理 正在使 阅读全文
posted @ 2013-11-14 23:23 天子波波 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 最近有两个关于程序员的新闻让不少IT 人都欢乐了一把,一是原新浪微博某PHP 程序员改行卖水果后,不但眼镜摘了,人变白了,连头发都长出来了;还有一个就是原某网游公司的程序员离职卖起了“程序猿烧饼”,收入可观,不但买房买车,还娶了漂亮的“烧饼西施”,让人好生羡慕!程序员们读到这两则新闻,估计心里就像打翻了五味瓶一样,不知是个啥滋味。难道我们都要去摆摊卖水果和烧饼吗?显然不现实。大部分程序员还得在IT 领域继续耕耘、打拼。著名作家查尔斯·狄更斯在《双城记》中写道:“这是一个最好的时代,也是最坏的时代;这是智慧的年代,也是愚蠢的年代;这是信仰的时期,也是怀疑的时期;这是光明的季节,也是黑暗 阅读全文
posted @ 2013-11-14 22:08 天子波波 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 上图来源于Struts2官方站点,是Struts 2 的整体结构。一个请求在Struts2框架中的处理大概分为以下几个步骤1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action4 如果ActionMapper决定需要调用某 阅读全文
posted @ 2013-11-14 21:29 天子波波 阅读(315) 评论(0) 推荐(0) 编辑
摘要: Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。 Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts 2是WebWork的升级版本。基本简要流程如下:1、客户端浏 阅读全文
posted @ 2013-11-14 21:17 天子波波 阅读(327) 评论(0) 推荐(0) 编辑