目前而言j2ee于.net之争已经开始,由于竞争引起技术的快速发展,将传统的asp\php\cgi大大抛在后面,随着预编辑技术的不断提高,以后程序员将面临着两大选择,一是从传统的asp转行到asp+(c#) +vb.net的格局,或着投入j2ee +j2se的怀抱。
大家现在可能对与j2ee与.net到底哪里好,凭什么说php、cgi将无法与这些新的技术竞争呢?
其实j2ee也不是什么新技术了,97年就有了。最近由于最近单位搞 j2ee的工程,我有性事实的领略到了j2ee + j2se的魅力。
j2ee是java的整体解决方案,j2se是客户端解决方案,我了解的是ibm的j2ee解决方案,后台使用db2 7.1数据库,前台使用ibm web sphere的web java服务器,加上j2se的java客户端程序,每天大约要存储10000条文件,平均每1小时并发用户大于30人,日使用人数达500人的 大型企业oa系统。
使用j2ee的解决方案可以大大加快速度,基本上服务器cpu占用率不超过80% 内存使用量400m左右,(使用dell 4600)相比之下asp + sql server的速度根本就不能比,不是说sql server慢,而是asp慢,预编译技术,就是用内存作为数据库的计算区域,化一部分硬盘为存取区,平时不操作数据库,计算的时候在内存总运行,结构保存在存取部分,当存取区满了再一次保存到数据库,大大提高了运行速度和服务器的负载,相比之下,及时编辑的asp\php\cgi就慢多了,因为每次访问都要读取数据库,这样服务器压力就相当大了,而更多地内存和硬盘空间帮不上忙,这样就会造成瓶颈,这也是为什么有磁盘矩阵的服务器编译预编译的程序要大大快于ide的服务器了。
.net的理论可以说是照搬j2ee,用asp+作交互vb.net作后台,提供一个类似j2ee的完全解决方案,由于使用了c#,所以大大提高了速度,(c++ 比 java快12 倍比vb快6倍),看起来使用c可能会超过使用java的程序,但是java是分布式运行,加上可以多系统的混合使用,在大型的分布服务器上,java的效率是极高的。所以说可以这样理解,j2ee在ibm 、sun等大公司地支持下很快会在高端占领绝大部分的市场,而.net是免费的,sql server还很低廉,加上xp本身就包含asp.net服务器,所以会很快地占领低端的web市场。
现在让我们谈谈coldfusion,它现在可以说一种比较聪明的做法,他使用预编辑技术,但是最关健的核心语言变成了可选择的形势,可以使用“c++”可以使用“java”,甚至可以混用,这就大大的扩大的应用面积,即可以在大型分布系统用也可以在小型的单独服务器上执行,可以说是折中的方法,这个可以说是macromedia进军程序开发市场的一个核心战略,不但泥补了macromedia在程序开发上的不足,还取得众家之所长,加上colufusion技术历史悠久(95年就已经得到广泛的应用了),还有jrun的支持,他可能会很快地占领部分中端市场,为j2ee和asp.net之争火上焦油。速度上的比较是:
低端比较
colufusion 5.0>asp.net beat1 >j2ee (asp.net beat2目前没有测试)
中端比较
coldfusionf 5.0=>j2ee>asp.net beat1
高端比较
j2ee>cf5>asp.net beat1 (据说asp.net beat2 速度是1的数倍,由于刚刚推出目前还不能下结论)
以上三种都是使用预编辑技术的语言,本人没有对传统php、asp、cgi作比较, 因为那样不公平,也没有什么可价值,因为不是一个时代的产品。从可用的简易程度上来说,基本上都是c为基础(java也是一种c),写起来都相差不多,可以说他们都是近亲,呵呵!所以上学会一个了其他的都相差不多。
目前主要是成本上的差异,其中asp.net最便宜,系统自带,再买一个sql server 和vs.net也不过6-7万人民币,coldfusion 5.0相对在数据库方面比较灵活,下到access上到oracle 8.0都可以用。系统方面也非常的灵活,你既可以用免费的linux,也可以用windows系统,同样也可以用sun的solaris。也就是说coldfusion server 5 +coldfusion studio + 数据库价格可以在5 - 10万 之间,j2ee成本就高了,一套ibm j2ee (db2 + web sphere)就得10万左右,加上系统软件,如果用sun那就是天价了!所以从成本考虑asp.net适合低端,colufusion可以在中间部分,j2ee就属于高端的产品了。
我写这些希望大家能在j2ee 与.net之争以及coldfusion 有个了解,用什么并不重要,主要是对与项目的需求.希望大家可以多多讨论这个话题!
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器