(2006-12-30) (阅读次数: 5537)
这是2006年,我参加华中科技大学硕士论文答辩写的一篇论文。但是,这篇论文写的太过Blog化,被导师否决了。我打算重写一篇学位论文,所以,这里把这篇过气的论文公布出来。
我是华中科技大学电子信息工程系电子信息工程硕士研究生。 大家可以给我写E-Mail来联系我。
我主要使用的语言是Java。Java社区非常活跃,至少现在是如此,可以说是现在最先进的一门编程语言。当然,未来,一切还未注定!
我对编写完美的代码有着一种近乎疯狂的执著。根据我的研究,面向对象编程技术,是编写完美代码的最重要的思想工具。而现在,对于面向对象编程的研究,还是很不够的。
本文中,对于面向对象编程,有许多的讨论。当然,本人水平有限,也只能谈到这里了。
(2006-12-12) (阅读次数: 2833)
9月14日,我在CSDN上看到了透明的一篇谬文 http://blog.csdn.net/gigix/archive/2006/09/11/1210180.aspx,论调十分之荒谬。所以,我在公司里冒着被老板发现的危险,即兴写了一篇短文http://blog.csdn.net/shendl/archive/2006/09/14/1222587.aspx ,予以驳斥。
CSDN的编辑把它和透明的那篇文章放在了一起。跟贴者甚众,令我没想到的是,我的文章居然被不少跟贴者驳斥,而且语言极尽讽刺、挖苦之能事。
所以,今天我撰写了这篇文章,再驳Java消亡论和回应java消亡论的支持者!
(2006-12-07) (阅读次数: 1747)
这是Jboss 的jBPM3.12框架的用户指南的中文翻译。我的翻译风格是中英文对照,只翻译部分我认为重要的,不翻译简单的英文,以免浪费你我的时间。 同时,对于其中的部分内容,我会在翻译中做出解释和写上我的理解。
这里先提供最后一章的译文。其它章节,以后有时间时,在整理一下放上来。
(2006-12-04) (阅读次数: 2637)
Java的路径问题,非常难搞。最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决Java路径问题。
我编写了一个方法,比ClassLoader.getResource(String 相对路径)方法的能力更强。它可以接受“../”这样的参数,允许我们用相对路径来定位classpath外面的资源。这样,我们就可以使用相对于classpath的路径,定位所有位置的资源!
...........................................................................................
尽量使用相对classpath的相对路径。不要使用绝对路径。使用上面ClassLoaderUtil类的public static URL getExtendResource(String relativePath)方法已经能够使用相对于classpath的相对路径定位所有位置的资源。
(2006-11-29) (阅读次数: 2261)
良好的面向对象的程序,一般都使用接口和实现分离的模式。我在《事务管理最佳实践全面解析》一文中提出,用*Transaction和*Dao后缀这样的形式,区分方法的不同用途。
这样,可以提醒接口的实现者和方法的使用者注意到它们对于数据库连接和事务的依赖。
实际上,使用*Transaction后缀这样的命名方式,对于声明式事务管理也是很有用处的。如,Spring的事务管理中,我们一般使用方法名的匹配来应用声明式事务。
..................................................................................................
(2006-12-01) (阅读次数: 2565)
今天,发现了一个以前写的使用Spring声明式事务管理的程序爆出了数据库连接错误,感觉是非常典型的一个误用Spring声明式事务管理的例子,拿出来为大家点评一下。..................................
不能再把一切扔给框架、容器、工具!首先理解你的业务逻辑,理解你要实现的功能,然后搞清楚框架、容器、工具会帮助我们做什么。只有理解了自己的业务逻辑,理解了自己的代码,理解了自己要用到的第三方代码,才能真正完美地实现我们需要的功能!
(2006-11-27) (阅读次数: 2583)
写作这篇文章的起因,是前一段时间,我使用Jbpm工作流引擎开发工作流管理系统的过程中,使用编程方式管理事务时遇到的问题。
由于之前很长一段时间,我一直都在使用Spring和EJB容器的声明式事务管理,因此,咋一遇到Jbpm这样的编程方式管理事务的情况,一下子搞不定了!经过几天的研究,我重新思考了怎样进行事务管理这个问题,并且发明了一种非常好的编程范式,或者说是事务管理的最佳实践。不敢独享,拿出来与诸君共赏。请大家批评指正。
...........................................................................................
综上所述,可以看到,我提出的这一套事务管理最佳实践是一套非常灵活、强大、简洁的管理事务的最佳实践。具有极其强大的适应能力。采用这套编程范式,你可以很容易地彻底摆脱事务管理带来的困扰!
使用它,即使是编程方式管理事务,也是非常简单而可爱的。
(2006-11-28) (阅读次数: 1594)
事务管理最佳实践多余的话之一
----“每次请求,一次数据库连接,一次事务”是不是金科玉律?
《事务管理最佳实践全面解析》 一文发表之后,关于事务管理最佳实践,还有一些未尽之言。今天又想到一些,所以就撰写了这篇文章,对该文进行一些补充。不知道会不会还有其他“多余的话”。为了避免以后文章的标题写成《事务管理最佳实践更多余的话》,《更更多余的话》…所以,这篇文章的标题就是
《事务管理最佳实践多余的话之一》,不知道会不会还有之二、之三。
本文论述“每次请求,一次数据库连接,一次事务”是不是金科玉律?这个问题。
(2006-11-27) (阅读次数: 1950)
上次写了一个部署Jboss的工作流引擎Jbpm的工作流定义的助手类,并写了一篇文章《编程方式部署jBPM工作流》。有部署,就必然要有卸载。今天,我又写了一个卸载Jbpm工作流定义及其相关实例的助手类。
(2006-11-22) (阅读次数: 1803)
传统上提升CPU性能的主要手段是提高CPU的主频。但是,经过30多年的发展,CPU的主频速度已经接近物理极限,很难再提高CPU的主频。
现在,CPU已经进入了超线程、多核CPU的时代。为了提高CPU的运算性能,现在只有使用具有超线程技术的多核CPU。
C++将离开性能之王的宝座!
多核、超线程CPU时代将成就Java性能之王的地位!
(2006-11-22) (阅读次数: 1282)
性能和开发效率之争,是编程世界恒久的话题。来自不同开发技术背景的程序员对此有不同的看法。性能和开发效率孰轻孰重,这个问题没有普遍适用的答案。对于某些要求高性能的特定应用,肯定是高性能更重要一些。但是,对于绝大部分的软件开发领域,应该来说,还是开发效率比性能更重要一些。
操作系统的没落和虚拟机的崛起,表明性能和开发效率的权衡中,一般情况下,还是开发效率更重要。微软、SUN,所有采用.NET和Java的厂商都同意这一点。你呢?
(2006-11-08) (阅读次数: 2397)
本文介绍了编程方式部署jBPM工作流定义的方法。并向您提供了源代码。只要您正确配置了Jbpm的数据库和Hibernate,使用本文提供的这个工具类,就可以非常方便的部署您创建的jbpm工作流定义。
(2006-10-27) (阅读次数: 1895)
(2006-08-23) (阅读次数: 2312)
OFBIz已经改名为OpenTaps项目发展了。其自身的工作流引擎也已经停止发展。现在改用内嵌式的shark工作流引擎作为自己的工作流引擎。而且,实际上并没有使用shark制作任何工作流。
Opentaps的宗旨,还是使用一系列自创的开源技术,开发大规模的企业级应用程序。它的目标,不是工作流,也不是appfuse这样一个整合其他开源技术的演示性的网站,而是一个综合的、企业级的电子商务网站。
本文是OFBIz/Opentaps之旅这篇英文官方文档的中文翻译和我的注释版。
(2006-07-17) (阅读次数: 3295)
极限编程最佳实践的深入研究. 研究了极限编程XP的前提条件,真谛和怎样实施XP的最佳实践。
极限编程是和面向对象编程技术的发展息息相关,共同进步的!