马上就要开始C++编程,对于java,掐指算来去年10月份开始,到现在一年有余了,经历一年的java生涯中,同时在加上前段时间的ibm的培训,不由想为自己或者别人总结一下java以及其相关性的东西。本人觉得这篇文章还有一些可读就将发表出来,希望大家评点!
首先:java是个什么东西呢!一开始对其感到神秘,后来逐渐明白,其不过就是一个C--,在C++的基础上去了一些东西而形成的东西。
那么它为什么会风靡世界呢?主要是由于它开放源码和跨平台。开放源码很重要,开放源码给大家更高的自由度,大家尤其是高手和水平高的公司可以自由发挥,不受限制、没有版权。跨平台更是为大公司提供的。只有大公司才会在不同的平台之间来回切换,保留以前的,发展未来的。小公司根本不存在这个问题,因为其一共才两台半机器。还有一个原因,可能是internet的发展,给它施展空间的余地,java在internet的应用的确有优势,可以构架独立的三层或n层结构,可以开发无线传输,可以开发小型客户端(例如:手机、冰箱。。。),为未来人们想要实现网上办公和网上生活提供美好的憧憬。
进入java语言,感到其入门简单,如果真想吃透也非容易事,大量的类,大量的方法。据说java 1.2版本是3000多个类,想想每个类里10个方法,那时多少东西呀!同时java1.3,java 1.4不断的出,里面的类只多不少,不过这也的确体现了其功能强大性。同时如果你不打算深纠的话,那些复杂性也不存在,你只要掌握简单的数据库操作,你就可以做java程序员了,如果你在掌握一些数据库连接池的概念和文件和数据传输的特点,那你成为高手了。因为一般企业编写和应用有这些就足以了。但如果你成为真正的高手我认为比较难,需要掌握的可能是太多了,深刻的理解java和java的运行原理,现在还需加上xml,更重要是你需掌握各种各样的传输协议,什么Tcp/Ip,Ftp,Smtp,Pop3。。。。这些常见协议必须掌握,最为费劲的我一直认为是各个公司的一些特点,和一些什么IIOP,T3,RM1协议。有的公司用这个协议,有的公司认为别人用的不好,用另一种协议,烦透了。不知谁的好。实际上协议的不同,必然带来书写格式,书写方法,甚至连接方法的改变。同时java这门语言变化比较快,jsp 昨天还是1.0,今天就有1。1,升级吧,问题就来,有可能是应用服务器不支持,或者支持但
在某些书写规则上有变化,改吧!同时提醒别人注意陷阱。Sevlet ,Java bean ,J2ee几乎每天都有能变化,注意吧!在加上这公司的产品支持那公司的产品不支持,可想而知,想成为真正的高手比较难掌握。
对于JAVA的应用,JAVA的应用,一般也只不过是由三层结构构成,其他的人们说的N层,一般只是概念而已,并且也都是基于三层的,没有什么高深的概念。对于三层:一般是后台数据库服务器,中间应用服务器,前台的客户端。
对于JAVA的三层在各个层面上由于各大公司炒的比较狠,可选的比较多。
后台数据库服务器:
DB2
SQL SERVER
ORACLE
SYBASE
什么MY SQL,ACCESS也有可能有人在用
中间应用服务器:
WEBLOG
WEB SPHERE
IAS
ORACLE APPLICATION SERVER
如果加上WEB SERVER,还有APACHE,TOMCAT,
前台比较统一般人用IE,但版本上有很大区别。
同时开发工具也是一个不可不提的东西:
JBuider
Visual Age
JDevelop
同时sun 公司也有有一个比较烂的叫 force for java,不敢恭维他的产品。
对于操作系统,就不做多的说明,后面如果需要就直接说明了,主要是这个问题老掉牙了
如果说让我评价这几个软件,同时提几个解决方案。首先声明从属个人看法和感受,不代表任何倾向。
我们是Windows平台 ,对于Windows开发,如果是基于Sql Server 的话 bea weblogic 绝对是首选,bea在作为中立的公司,开发的东西在稳定性和兼容性,可以说是一流的。同时公司在业内的口碑也比较好,公司的版本升级和补丁的发放也比较快,但如果真用weblogic的话我认为weblogic5.1.9的确是好版本,他的控制平台让我十分欣赏,因为有一段时间我们的数据库连接老崩溃,我最后负责解决这个问题,最终确定如何解决,还是从观察weblogic 的控制平台连接池的变化得到的,weblogic 6.0 ,6.1我试一下好象没有这项功能,并且在我迁移的过程中由于中文的问题发生错误,我奋力解决的一天,最终确定为weblogic6.1的问题,虽然后来问题在其他有的机器不存在,但我还是认为它不稳定,同时我的同事也是weblogic6.1的试的过程中出现了jsp长度受限的问题。开发工具Jbuilder最好,其内置的帮助系统非常棒,不瞒大家,我的Java学习真正还是从JBuider的帮助中彻底理解的。写的的确好。同时还有一个是它的源码浏览功能,非常方便。再有就是ejb和xml 的支持,真是比较好。不过请选用Jbuider 4 或以上版本。
组合公式:windows 2000 server + sql server + weblogic5.1.9 + jbuilder
因为IBM是我们的合作伙伴所以,我也受过其短暂的培训,所以不得不提一提IBM,如果我们的操作系统AIX,数据库一般只能是DB2,那么我们在应用服务器,实际上已经没得选择了,我们只能选择WEB SPHERR,因为WEB SPERE的控制数据是存在数据库中的,同时WEB SPERE 对DB2的支持不用说很好,而且在IBM的系统上运行的WEB SPHER 的功能据介绍是非常强大的、运行是稳定的,尤其对未来的XML 、J2EE支持。最让我感到其功能强大的地方是对JMS和它的克隆技术,其克隆技术真是可以非常好的解决动态分布问题,不服不行,在加上IBM在JAVA上的研究和领先,我们对其产品是可以信赖的,实际DB2和WBB SPERE 本身就是天生的一对,虽然IBM公司说各个产品也都支持其他产品,但据我观察和其他产品配套很扯。据我在培训完自己花两天实验java bean 和 jsp 运行稳定,编译速度快,ejb由于数据库的关系没有详细的测试,但凭我的简单的作了一个例子测试效果挺好,不过也有缺点:就是太耗费内存,一般db2和web sphere需要512M的机器来跑,256M有点小。编辑工具,用Visual Age,这是IBM的产品,主要考虑到兼容性,如果你非要使用Jbuider或其他工具,ejb的编辑将是个问题,我的实验结果是,Jbuider编辑完的ejb无法在web Sphere 上跑,可能是jbuider 配置应用服务器的问题,其他java bean 和jsp 没有问题。对于Visual age 这个工具,感觉其功能挺强大,但个各种界面和环境有些不适应,感到其没有充分的考虑程序员的感受。对于WebSphere studio这个工具说白了就是给页面编辑提供一个管理平台,没有什么大用。
另外:想说一点是IBM 对 Sevlets 情有独钟,将Sevlets 抬的很高,后来我看一下他们的red books Sg246161,再加上培训,我彻底的了解Sevlets的功能和用处,也明白IBM要用的原因。因为Sevlets 安全性比较好,所以它前台做控制,可以彻底解决安全性的问题,IBM他们对安全很重视,这与他们公司定位有关系,下面来个图就明白了。
组合公式:iax+db2+web sphere + visual age
其他工具和软件的简单介绍:
应用服务器:
Bas:Borland application server
用过它开发过一段时间,感觉也不错,简单的jsp ,java bean ejb应用兼容很好,不过特殊的地方是它应用了IIOP协议,IBM工程师认为这种协议是在防火墙上打了几个洞,不利于网络安全。
ORACLE APPLICATION SERVER :我没有使用过,但我的同事用完了感到非常烂,用的内存和空间也大。我想ORACLE现在是一个数据库公司,其它方面现在其还不具有强大能力 ,最多和他的ORACLE 数据库配合比较好
TOMCAT 和APACHE都是一个公司的产品,并且都是WEB SERVER,不具有强大的功能。但IBM的WEB SPHERE,其前台是应用了APACHE的产品,并且我感觉他的动态分布是在APACHE上作的文章。
数据库:
ORACLE:现在无疑是一般公司的数据库首选,但由于其价格,让人却步。我简单的玩过一段时间。看起来功能挺强大,并对JAVA支持也挺好。据传他的数据库支持N种功能,我也没试过,只知道其对大数据处理比SQL SERVER强。
编程工具:
JDevelop:其他人的应用结果表明,界面一般,辅助功能一般,对ejb的支持一般。我曾经的例子是:将ejb的类引入以后,远程调用ejb,发现没有RMI类的支持。同时我们的同事在写的过程中时常发生突然关闭的现象。
总的感受:
一、 在作java程序时,不要怕麻烦,比起c/s编程或者是其他语言,它的确麻烦,处处手写。一写就是三层,连字符转换都自己写。------麻烦。不过的确控制能力比较好。这是相对的吗?
二、 千万不要在项目中间轻易换平台,不要以为java跨平台,什么都能适用,它也有标准,一个标准由几个公司起草,讨论,最后由sun发布,各个公司的产品都是支持自己多一点。从一个公司的产品到各一个公司的产品,说不定你就会遇上什么无尽的麻烦-----不停的改。我曾经历过将Bas 4.1 到 Weblogic5.1.9 的大转移,后果是Bas应用了IIOP,而Weblogic 没有,我们最后将所有的EJB数据库连接都改了,同时在数据的执行过程也需改动。字符问题上原来的BAS本省不支持中文,而Weblogic本省就支持,我们将所有中文转换又去掉了。
三、 在INTERNET上有优势,在B/S方面它的优势非常明显,对于JAVA,可以适应各种平台,这样大家就可以找一个稳定的服务器做后台,前台也可以选用大家熟悉的,甚至可以考虑适应各种平台。不像微软什么都是自己的,但自己的数据库和操作系统的确不能适用大规模的应用。同时,JAVA提供源码的确方便