网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Effective Java读书笔记之一.
.Java Applet编程技巧之文字显示.
.XDoclet:EJB开发好帮手.
.Sun开发者日 2008年3月-4月在线报.
.Java的执行效率完全可以比C/C++的.
.从XML到Java代码的数据绑定之二.
.Java程序员认证模拟题及详细分析.
.使Java代码可移植之二.
.Model View Controller 与 Obser.
.PASX简化Java开发.
.Tapestry 配置 框架 framework.
.Eclipse Form程序设计指南之入门.
.实现游戏中的简单打字功能.
.使用J2ME技术实现简单的动画.
.多网口的IPNetworkMultipathingf.
.J2ME学习笔记(5)—MIDlets中的图.
.Struts源码研究 - Action-Input属.
.详细的spring入门实例讲解运用.
.JavaCard开发教程之接口.
.Hibernate 入门(3).

J2EE项目10大风险

发表日期:2008-1-5


避免本文所列之10大J2EE风险,确保企业级Java项目成功
作者:Humphrey Sheil

翻译:Blueski

说明:
本文已在51CMM网站《中国系统分析员》杂志第3期刊载。
原文在 http://www.javaworld.com/javaworld/jw-03-2001/jw-0330-ten.Html

--------------------------------------------------------------------------------

在过去这段时期里,我担任过程序员、高级设计师以及架构设计师等工作,见识过很优秀的企业级Java项目,也见识过不好的,甚至很"丑陋"的项目。有时候我会自己问自己,为什么一个项目可以取得成功,而另一个却走向失败?很难定义出某种规则或标准来表明各个不同的项目应该如何成功,J2EE项目也并不例外。但与此相反的是,我们可以从各个角度和层次上去考察项目失败的原因,假如很好地避开了这些风险,项目就可以取得成功。在本文中,我将提出排名前10位的企业级Java项目风险,供读者参考。

在各种各样的风险中,有些风险只是延缓了项目的进度,有些带来了一些不必要的工作,而另一些则会把成功的可能性彻底地消除。不过,假如预先有了足够的预备和清醒的熟悉,那么并没有不可避免的事情。这好比假如你是一名旅行者,你清楚地知道前面的道路在什么方向,做了充分的预备,又有一位清楚知道哪里有危险的向导,这样就会比较顺利地到达自己的目的地。

本文采用了以下结构来描述风险: 

风险名称:风险的标题(使用粗体)
项目阶段:在哪个项目阶段会发生风险情况
影响阶段:会影响到以后的哪些阶段
症状: 风险产生时的症状
规避方案:如何规避风险或者把其对项目的影响降低到最小程度
备注: 风险相关的补充说明和提示
通过对企业级Java项目的仔细考察,本文将J2EE项目过程分解为以下几个阶段:

提供商选择: 在开始你的J2EE项目之前,要选择最合适的提供商,从应用服务器到开发工具组合,一直至工作期间享用的咖啡的厂商。 
设计: 在遵照一系列严格的规范和软件工程方法的前提下,可以开始进行足够充分的设计,然后再很自然地进入开发阶段。在开发之前,要周全地考虑好正在做什么,以及如何往下做的问题。另外,我使用了一些设计模板来确信在进入开发之前,已经想到了所有的问题和可能的解决方案。但是,我有时也在该阶段做一些编码,有时候这样做可以回答一些问题,有效地判定出性能上和模块划分上的问题。 
开发: 也就是程序开发阶段,选择一些好的开发工具,进行精良的设计等等,在这个阶段将显示其优越性,并且可以给开发带来很大的帮助。 
稳定性/负载测试:在该阶段,系统架构师和项目经理应该冻结住产品特性,并把焦点放在质量以及产品参数(答应的并发用户数量,故障恢复情况,等等)上。质量和性能在该阶段应得到足够的重视。当然,最好应该避免在前阶段写出不良的运行缓慢的代码而到本阶段来作很多的修改。
成熟期:这不是一个真正的项目阶段,而是一个固定的预备阶段。过去潜伏的错误(来自于糟糕的设计和开发、错误的厂商选择)可能出现并影响你的系统。

风险1:没有真正理解 Java, EJB, 和J2EE

这个问题可以分解为3个部分,以便于分析。

描述: 没有真正理解Java

项目阶段:开发

影响阶段:设计、稳定性测试、成熟期

对系统性能的影响:可维护性、可扩展性、性能

症状:

重复开发了JDK核心API中的功能或类
不懂得以下列表中的某些项(这只是一些主题或者实际例子而已):
垃圾收集器 (train, generational, incremental, synchronous, asynchronous)
对象在何时能被进行垃圾收集 -- dangling references
使用的继续机制及其权衡
over-riding和over-loading方法
为什么java.lang.String (在这里用你所中意的类代替) 提供的性能不好
Java中的pass-by参考语义和EJB中pass-by值的语义的比较
使用 == 或者使用equals() 方法 for nonprimitives
在不同平台上Java线程的运行顺序方式(例如是否是抢先方式的)
新线程和本地线程的比较
Hotspot技术(以及为什么旧的性能调整技术降低了Hotspot 的优化效果)
JIT,以及什么时候好的JIT变得不好(未安装的JAVA编译器,以及你的代码运行得刚够良好)
API搜集
RMI
规避方案:
你需要不断改进Java方面的知识,尤其是深入了解Java的优势和不足之处。Java的存在价值已经远不止是一种语言,理解平台(JDK及工具等)也是同样重要的。具体地说,你应该是经过认证的Java程序员,假如你不是的话,也许你有时会为还有那么多不知道的内容而感到惊奇。另外,你可以加入Java的邮件列表。以前我曾加盟过的每一个公司都加入了这样的邮件列表,从同行中学到技术,这将是你最好的资源。

备注:
假如你或者你的团队中的成员不真正了解编程语言和平台,怎么还能保持成功的希望呢?强干的Java程序员之于EJB和J2EE,就象是鸭子之于水一样。与此相反,比较弱的、没有经验的程序员只能开发出质量低劣的J2EE应用程序。

上一篇:Hibernate 入门之轻松上手 人气:541
下一篇:老话题,JavaBean实现多文件上传 人气:1523
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐