自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L 的专栏

记录有价值的事, 回忆开心的点滴!

  • 博客(38)
  • 收藏
  • 关注

原创 反射技术是程序员转型成为系统架构师的必经之路?

http://blog.csdn.net/frank_softworks/archive/2007/04/28/1589346.aspx 今天看了一篇 反射机制与系统耦合实例详解 的文章, 其作者对反射机制和系统耦合进行了介绍. 并提出了这样的一些观点: 反射机制被大量运用在系统架构的设计层次上,并且在编写公共类和系统基盘的时候也起到了举足轻重的作用,甚至有人提出这门技术是一个程序员转型成为系

2007-09-15 13:39:00 1895 16

原创 谈谈什么时候应该记录异常堆栈信息。

 请看看这段代码:try{    // doing something;}catch(Exception e){    // exception handling;    if(log.isErrorEnabled())        log.error("error message...");    if(log.isDebugEnabled())      

2007-12-03 22:37:00 910

原创 保证 load class from system class loader first!

曾经看到这样一个 classloader  的设计: 系统公共 class loader 支持一个配置, 如果配置为 "true", 则其在load class 时, 先从公共classloader和 system classloader 中找这个类; 如果配置为 "false", 则先从系统各个子模块的classloader 中找, 找不到, 在从公共classloader和 system

2007-11-29 19:56:00 727

原创 需要区分在接口方法注释和方法实现的注释.

前两天负责review 一些代码, 这些代码的质量都是非常好的, 而且注释也非常的清晰. 不过发现一个问题,  在一个接口的实现类中, 其方法的注释也详细的说明该方法的功能和注意事项. 由于没有看到接口的源文件, 所以不知道该方法对应的接口的注释是怎么杨的. 反正有一个感觉: 这样的注释并不是那么完美的.通常来说, 我们暴露的都是接口文档, 对于接口中的方法都给于详细的注释描述. 如果在接口方

2007-11-26 12:58:00 8409

原创 动态构造 Java 类的一种方法: ClassLoader 的设计 (4)

http://blog.csdn.net/loveyly/archive/2007/09/21/1794927.aspx 第一部分http://blog.csdn.net/loveyly/archive/2007/09/21/1794971.aspx 第二部分http://blog.csdn.net/loveyly/archive/2007/09/25/1799733.aspx 第三部分对于C

2007-09-26 11:48:00 1306

原创 动态构造 Java 类的一种方法: javassist (3)

http://blog.csdn.net/loveyly/archive/2007/09/21/1794927.aspx 第一部分http://blog.csdn.net/loveyly/archive/2007/09/21/1794971.aspx 第二部分动态构造 Java 类, 还有个作用就是性能的提升. 巧用这个方法, 会大大的提升系统的性能. 我举个例子, OGNL2.7 版本中就是用

2007-09-25 12:15:00 1994

原创 动态构造 Java 类的一种方法: javassist (2)

http://blog.csdn.net/loveyly/archive/2007/09/21/1794927.aspx 第一部分接下来,我来举一个例子. 我们经常使用 Java Bean 来装载业务对象数据, 但是这里有一个需求就是, 对于不同的应用场景, 可能某个业务对象所包含的属性不一样, 也就是 Java Bean 中的 Property 可能不确定, 可能增加, 也可能删除一个或者多

2007-09-21 16:51:00 2785

原创 动态构造 Java 类的一种方法: javassist (1)

http://labs.jboss.com/javassist/ 这个Jboss 的项目可以动态的构造 Java 类, 其功能算是比较强大的了. 但是任何强大的东东都是双刃剑, 那就如果很好的运用, 可以大大的提升系统的灵活性, 可扩展性和性能; 如果使用不当,对系统的冲击也是很大的.这里我不介绍具体的开发方法(可以到上面的网址去获取开发文档), 我会从其使用的场景, 系统层次等方面介绍怎样才

2007-09-21 16:35:00 4194

原创 Map.containsKey() 的一个使用场景.

我们常常使用 Map 对象来缓存数据, 比较常见的处理流程是:1. 调用 Map 的 get() 方法获取数据;2. 如果返回不为 null, 直接返回该数据;3. 如果返回为 null, 则生成数据, 或者从其他地方获取数据, 然后存放入 Map 中, 最后返回该数据.这里, 我们可以通过使用 Map 的containsKey() 方法来检测是否数据是否存在, 如果key存在,

2007-09-19 16:28:00 18572 5

原创 为什么使用反射机制解决系统耦合是误用.

先前发了一个帖关于反对将 反射机制 作为解决系统耦合问题的文章. 现在就来谈谈为什么反对这个观点.反射机制是一个非常强大的功能, 其在对于动态调用对象和对象方法上具有不可替代的作用. 同时其具有很强的灵活性, 给于了编码者最大程度的可操作性. 但正是其强大的灵活性决定了其不能成为模块间卸耦的解决方案, 更不能成为系统间的卸耦方案. 想想看, 一个模块 A 所需要的另外一个模块 B, 通过反射机

2007-09-19 00:08:00 1586

原创 用 C语言 的将继续保持沉默. 呵呵

这段时间关于 C 没落的文章和新闻真多呀, 呵呵.不过我相信 C 还是有很大一片空间. 而且是主宰着计算机基础领域的那片空间. 所以不相信 C 会灭亡, 更不会相信我们的程序员会让他灭亡. 曾经我做了一个对比, 一个 C些的短信协议栈, 可以处理 18000 条短信/秒, CPU 使用率5%, 用java 实现同样的功能, 也可以处理接近18000条/秒, 但是 CPU 使用率81%. 

2007-09-17 22:14:00 651

原创 微微一笑, 谈谈"侵入" (3)

问题来了... 如果有两个对象 A 和 B, 他们都有属性 c, 那么 AB 放入到栈中的顺序, 就决定了我使用 "c" 这个表达式访问的结果值. 如果为了避免对应用的干扰, 那么框架如果要放什么对象到栈中的话, 那么就一定要保证每个属性不是那么容易和应用的对象属性出现一致的情况. 也就是说, 框架本身必须遵循某一种规则了, 而这种规则是本身应该独立的情况不会存在的. 这就是有害"侵入"!

2007-09-15 14:44:00 687

原创 微微一笑, 谈谈"侵入" (2)

 好现在来分析以下这个特性为什么具有有害"侵入". 这里的 Value Stack 也退悼梢越没Х梦实亩韵蠓湃氲揭桓稣恢型渌?榉梦? 用户可以放任何数据到这个栈. 访问栈的对象数据方式可以通过 OGNL 表达式. 比如一个 User 对象, 有一个 name 属性, 那么就可以通过表达式 "name" 来访问某个 User 对象的 name 的属性值. 又比如 User对象有一个 addres

2007-09-15 14:42:00 697

原创 微微一笑, 谈谈"侵入" (1)

 很久以前, 就想写写关于编程方面的一个"侵入"的话题. 研究这个话题, 主要是想让自己对技术还能有认识, 不至于颓废了. 呵呵所谓的"侵入", 其实就是某系统对其他系统造成影响, 导致本来应该独立的系统必须进行修改或者规避来避免"侵入"的影响. 其实我们编程中有很多这样的例子啦, 比如规范就是一种"侵入". 比如我们常常说的J2EE 规范. 这样的"侵入", 就要求我们编程时按照一定规则去写

2007-09-15 14:40:00 825

原创 将系统功能和客户化扩展功能分隔开来....

看到一个 WEB 框架, 其提出了 Interceptor 的机制, 每个 Action 可以配置多个 Interceptor. 这样开发人员可以在执行 Action 前定义一些辅助逻辑处理. 同时该框架提供一些系统的 Iterceptor, 负责处理一些框架需要完成的任务, 比如数据装载, 效验等.我在这里产生了一个疑问, 对于 Interceptor 的定位问题. 如果Intercepto

2007-09-15 13:57:00 576

原创 感受 印度 的长途Bus旅行!

上个周末印度同事结婚, 他邀请我过去参加他们仪式. 不过其地点是另外一个州. 于是有了一次机会坐印度的长途汽车跨州的经历.上车后, 感觉还行, 比想象的要好些, 毕竟可以躺着休息.  出发时间是晚上6点45. 没什么好干的, 就躺着睡觉了. 大概9点的时候, 车就停在了一个可以吃饭的地方, 有一些小店和一个餐厅. 当然我可不敢去吃印度的手抓饭. 呵呵.这个时候我才发现, 我们的大巴前是破烂

2007-09-15 13:03:00 1011

原创 C剧降不是好事 ! -- 我眼中的"编程语言排行榜:Java第一,Ruby上升,C剧降"

http://news.csdn.net/n/20070914/108630.htmlCSDN 的这则新闻, 标题来了个" C剧降". 其实也许这个反应的不是一个好消息. 也许很多人多选择其他语言开发自己的系统, 但是可以明确的说的是, 其他语言只能开发应用型的系统. 真正底层的, 还是需要 C 来开发. 那么这里的 "C剧降" 反应了什么呢? 有两种可能:1. 目前应用系统越来越多,

2007-09-15 12:40:00 618

原创 RIA 应该通过 html 5 实现

今天在 CSDN 头条上看到关于 RIA 技术的专题, 其中讨论了微软的 Silverlight. 对我来说这个是一个好事, 也是一个坏事. 单从技术角度来说, 微软的确是一个非常好, 值得称赞的公司, 其创造了很多令人可以舒适的工作的技术. 这个 RIA 技术也一样, 将大大的减轻 web 应用开发的难度, 特别是客户端复杂界面的开发难度. 这里我要说的好事是, 微软的这个技术, 和我的一个

2007-08-31 12:24:00 981

原创 看到 HTML 5 的感慨

http://www.ibm.com/developerworks/cn/xml/x-html5/?S_TACT=105AGX52&S_CMP=techcsdn------------------新千年以来,超文本标记语言(HTML)5 第一次向 HTML 中引入新的元素。新的结构元素包括 aside、figure 和 section。新的内联元素包括 time、meter 和 progress。

2007-08-29 14:45:00 651

原创 个人看法: Struts2为什么不用 DWR.

webwork使用DWR支持异步验证, sttruts 理所当然也是. 但是即将使用新的机制代替.这里有一个问题, 为什么 struts2 不 集成 DWR 支持 AJAX呢?其实我们常说的集成有两个方案, 1. struts 和dwr并行, 也就是ajax走 dwr 的那条路, 所有的规则遵循dwr的规范.2. dwar + bridge + struts, 也就是ajax请求被dwr 专门

2007-08-29 11:52:00 2380

原创 DWR 说 Struts2 用了 DWR, 呵呵

在 DWR 的网站上看到其列出的使用了 DWR 的项目:Rife uses DWR for remote server requests Struts v2 uses DWR for Ajax Validation IBDOM is a way to injecting JavaScript Objects into web page, See their DWR integration do

2007-08-28 14:51:00 1151

原创 看看是什么在改变 WEB (3)... (WEB改变世界, 我们改变WEB)

打开一个 关于 grid UI 组件的 jsp 页面, 里面有这样的代码:-----------------------                      paged="true" pagerPosition="both" rows="25" loadMask="true" style="border:1px solid #99bbe8;height:300px;overflow:hidd

2007-08-25 13:54:00 766

原创 看看是什么在改变 WEB (4)... (WEB改变世界, 我们改变WEB)

在找国际化支持的过程中, 看到这样一个例子:----------------------------    对输入数据的校验可以在页面内进行,通过AJAX在服务器获得校验后在浏览器显示校验结果,而不必重新刷新整个页面。        请输入一个1到10之间的数字:                        ----------------------------也许作者只是想表达怎么通过

2007-08-25 13:54:00 544

原创 看看是什么在改变 WEB (2)... (WEB改变世界, 我们改变WEB)

http://blog.csdn.net/loveyly/archive/2007/08/25/1758598.aspx (第一部分)http://blog.csdn.net/loveyly/archive/2007/08/25/1758599.aspx (第二部分)http://blog.csdn.net/loveyly/archive/2007/08/25/1758601.aspx (第三部分

2007-08-25 13:53:00 773

原创 看看是什么在改变 WEB (1)... (WEB改变世界, 我们改变WEB)

今天在公司的公告栏上看到了我们金蝶公司推出的一个web 框架的新闻. 其实以前也看到过, 只是并没有十分注意, 结果没有想到这个公司会这么大力推广. 于是到 CSDN 和 JavaEye 上看了看, 也有他们的广告. "WEB 改变世界, 我们改变 WEB", 能提出这样口号, 那的确很不容易. 好吧, 我也来看看这个好东东...进入 http://www.operamasks.org/dow

2007-08-25 13:52:00 506

原创 关于以后 WEB 开发的一个想法(3)

 http://blog.csdn.net/loveyly/archive/2007/08/25/1758591.aspx (第一部分)http://blog.csdn.net/loveyly/archive/2007/08/25/1758594.aspx (第二部分) 其实浏览器就可以是一种虚拟机的实现, 只要标准出来了, 什么都好办. 可惜目前 W3 还重点是关注于格式的变动

2007-08-25 13:48:00 438

原创 关于以后 WEB 开发的一个想法(2)

http://blog.csdn.net/loveyly/archive/2007/08/25/1758591.aspx  (第一部分)在这样的一个虚拟机上, 我们可以编写很简单的编写一个以前 C/S 模式下的界面, 而同时由可以通过支持该虚拟机的浏览器运行. 毕竟传输一个描述文件的代价并没有多大, 而且对于复杂的界面, 肯定比现在要简单得多. 简单的说, 就是可以把目前使用 javasc

2007-08-25 13:47:00 455

原创 关于以后 WEB 开发的一个想法

说句实话, 我一直都不相信基于 AJAX 技术的各种框架能够真正的解决目前 WEB 所面临的一些问题. 现在 JAVA 阵营中, 出现了多少 WEB 框架, 现在又有多少开始说支持 AJAX, 说是 number one等等. 在各个框架之间相互比拼时, 他们各自都拿出了很多理由来证明自己的框架比别人的优秀. 我觉得 WEB 技术需要革命, 需要从最底层的技术开始. 今天看了一篇文章, 发

2007-08-25 13:44:00 697

原创 如果公务员跟普通公民没有差别.

全国房价飞涨, 政府却没有什么大的作为, 我想如果所有的公务员都跟普通的老百姓一样, 没有什么特别福利等, 那些靠房地产发财的人早就被灭绝了.那些政府官员和普通的公务员不用担心自己的住房问题, 所以不会全心全意为人民服务, 去解决房价的问题. 他不能站在普通老百姓的立场去看放价飞涨的严重性, 他们不能体会老百姓的心情.所以如果要想房价, 必须去掉公务员的特权和一些无理的福利.  但是这个的

2006-07-14 17:43:00 1124

原创 天花板漏水了---印度一感

在印度工作了一年的时间, 发现一些搞笑的事, 在此分享一件。在我的座位顶上, 可能是中央空调那个地方出了问题, 不断的有水流出来。 一开始, 水顺着天花板从靠窗大缝隙流了出来, 影响了我们的工作。 反映给公司相关部分后, 来了一批人, 在那个有缝隙的地方用铁板坐做了一个接水的槽;然后通过一根水管引导到一个水桶里。这样度过了大概两三个星期。 可能是天花板被水浸透了, 水就直接从天花板透流出来。

2006-07-14 11:51:00 1110

原创 学习使用Spring应该能具有过滤的能力.

今天又看到一篇讨论Spring的文章: http://blog.csdn.net/easyjf/archive/2006/07/12/910060.aspx我不知道为什么这样的讨论会激发出人们丑恶的一面. 可能是人们的私心在作怪吧. 每个人都想证明自己是正确的, 自己大理论应该得到大家大认同. 其实这个没有什么可以争论的, 对于不同的应用环境Spring绝对不能全部适应. 在有些环境下,

2006-07-13 13:32:00 809

原创 Hibernate3.1 的一个Event机制问题

系统使用Hibernate, 感觉还可以. 从其强大的功能中获利不少. 于是hibernate 3.1出来后, 就升级到了这个版本. 但是新版本的一个Event机制, 却透露出其设计的一个大毛病.在hibernate 3.1中, 所有的操作都是由Event来驱动的. 于是就存在了各种各样的EventListener. 按照设计原理, 既然是EventListener, 而且可配置, 那么就可以去掉

2006-07-13 13:23:00 947

原创 IoC联想到规则引擎

最近花了点时间研究Ioc,这的确是一个好东东。IoC的概念很是悬乎(主要是被国内同胞解释出来的),刚开始还真的晕了头,后来在一位仁兄的文章中看到了最为通俗的解释:就是通过XML文件定义来生成对象。IoC还有另外一个别名:Dependence Injection。意思是依赖注入,看起来比IoC好懂,但总的来说,还是上面的解释好!这个解释真的很清楚明了,也让我真正的进入IoC中来了。随着不段的深入,我

2005-04-08 09:07:00 1205

原创 Tomcat的Cluster功能复制session时会复制保存在其中的对象么?

问题:当业务使用了SSESSION保存某些对象,怎样在集群时复制这些对象?TOMCAT5已经考虑过这种集群所导致的问题,其实也就是cluster的问题。如果采用了TOMCAT 的cluster解决方案,我相信应该可以保证session等信息的同步可操作。另外,TOMCAT要求放到SESSION里的对象要需要实现Serializable,以确保各个对象能被正常复制。有人提出疑问,SESSION使用的

2005-04-07 18:20:00 1196

原创 记住调用super类的构造方法!

今天看了TOMCAT的Ajp13这个类的源代码,发现一个很值得注意的地方,那就是不管是否继承了某类,都在构造函数中调用super()方法。我已经看了一些关于TOMCAT的代码了,但是以前却没有发现该现象。今天不知道怎的,突然发现它了。*********************    public Ajp13() { super(); initBuf();        reqHandler=new

2005-03-30 17:30:00 1500

原创 Portal开源实现-Liferay的Portlet Session处理(2)

二、LIFERAY中的实现LIFERAY在构建ActionRequestImpl和RenderRequestImpl时,会设置PORTLET SESSION,如下代码所示:public RenderRequestImpl(HttpServletRequest req, Portlet portlet,        CachePortlet cachePortlet,        Portlet

2005-03-30 17:13:00 1595

原创 Portal开源实现-Liferay的Portlet Session处理(3)

三、问题由于上述原因,LIFERAY可能面临如下问题:- 用户本来是想保存私有的数据到本应用的SESSION中,但是实际上却保存到PORTAL系统的SESSION对象中了- 其他应用的可以随意的访问不属于本应用的SESSION 数据- 其他系统可以随意访问PORTAL系统的SESSION数据- 不同的应用不能使用相同的KEY来保存数据,如果这样做,则会相互覆盖数据。以上是我对LIFERAY的一点分

2005-03-30 17:13:00 1203

原创 Portal开源实现-Liferay的Portlet Session处理(1)

一、规范中的SESSION描述(PortletSession objects must be scoped at the portlet application context level. Each portlet application has its own distinct PortletSession object per user session. The portlet contai

2005-03-30 17:06:00 1490 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除