我们学习java大概有3个方向,
第一,桌面系统,包括c/s结构;
第二,j2me,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。
第三,面向企业应用、计算的平台,j2ee。
初次涉及java领域,感觉到java入门是好像没有c,c++入门快,工具也没有什么turbo c,visual c++好用(自己的破机器实在陪不起jbuilder,贪婪的家伙,以后一定要收拾她)。什么java_home,classpath,虚拟机等概念都是初次基础,旁边的人都很少用java的。感觉java就是做applet的。让我不可思议的是java 2,jdk,j2se,j2ee,j2me等新名词在自己的脑海里蔓延。慢慢的自己知道了jcp组织是制定java相关规范的发源地http://java.jcp.org ,于是订阅了一份邮件列表。真是好东西啊,定期有java的最新动向,所以java的动态尽收眼里,建议大家也去订阅一份。免费的。自己动手下载了java(tm) 2 sdk和java(tm) 2 sdk documentation后,不懂的就查java(tm) 2 sdk documentation,特别好用,也不需要什么手册之类的,建议大家都要有一份。
搭起java开发环境后,记得还是用ultraedit编辑并编译的(在其中可以配好java的编译环境)。慢慢的改用jcreator了。不错,至少很多方面有改进。最开始卖了一套 2本书,还不错。对于入门来说足够了。
不知道什么时候,要开始干项目了,以前从书上看到的东西,慢慢的在项目中有了很好的机会去温习,慢慢的有了感觉,开始主要是用swing,开发桌面系统,放置一个按钮怎么也放不好,后来才知道有一个布局管理器。开始涉及到数据库访问,jdbc。
每次,美美的享用一顿大餐后,也来也觉得自己是不是应该换一种学习方式,因为这样学习效果不太好。比较乱。让我想起了java specification,对,我开始研究java规范了。最开始下载的规范是jdbc specification,很多概念一目了然,尤其是database的事务性控制,自己对于她的理解慢慢的有了较为深入的了解。对于开发c/s结构,比如,swing+jdbc,开发数据库应用系统,让我学会开发两层结构的应用系统。很神气。
也不知道什么时候要开始开发一个网站,基于linux+jsp+javabean+oracle的系统。很是有意思。为什么这么说呢?因为不同于swing+jdbc的开发模式,系统之间多了一层(javabean,姑且就这么叫吧!嘻嘻);同时,很多开发技术和面向左面系统不一样,比如分页技术。
完成项目后,自己对于java的很多方面都比较了解了。开始思考一个问题,j2ee是什么东西?。
在痛苦的抉择后,我选择j2ee..分享j2ee给我带来的快乐。学到现在,最大的感觉,就是: 简单就是美,美就是java.不会有学mfc的痛苦,也不会有去分析stl的艰辛,网路应用上一点也不逊色于c++。开始进入我的j2ee之旅。
还是下载了一份j2ee规范,一份j2ee sdk。开始研究j2ee,大概过了1个月,开始有感觉了,也就在这个时候,需要我去完成一个j2ee构架方面的项目。差不多边学编写完成了,很多概念在写完后都不是很清晰,因为东西太多了,主要是基于jsp(servlet)+session bean+eis构架开发系统。当然也学到很多东西,至少对sb ejb的编写不成问题。懂得了jsp如何调用ejb……..
完成项目后,我开始研究java pet store了,很是过瘾。开始知道了servlet过滤器,xml方面较为全面的知识,知道了j2ee整个框架中各种技术的实际应用。慢慢的,开始研究weblogic配置好的pet store(也是sun公司的)。慢慢的分析两者的不同之处。开始对j2ee specification有了很好的感觉。因为j2ee specification本身是很严肃的,但pet store给出了活力。在反复的学习中,我明白了j2ee构架的70―80%。新的问题又出来了,实际企业中会如何建构一个j2ee系统呢?带着这个问题,我开始分析core j2ee patterns,这本书。同时,也有ejb design patterns。慢慢的,开始知道了j2ee的魅力所在,知道了j2ee为什么会在企业中得到较为好的认可。大家都知道,设计模式一词,在公司上班,你们的老板会看你的代码吗?会赞赏你的dp很好吗,我想很少。在完成你的工作进度之余,加班,加班,再加班,我想你没有更多的时间去分析研究dp.但,j2ee框架不一样,她内置了很多优秀的设计模式,我们在设计开发、构架一个j2ee系统中用到了很多设计模式。比如,mvc,ejb中封装的dao设计模式。
构架j2e系统用session fa?ade,message fade设计模式也不会太困难。这也是后来j2ee吸引我的地方。慢慢的我知道了,作为一个j2ee开发者,我们要掌握其中的核心内容。我个人认为,3方面很重要。实施ejb系统常用的架构、设计模式,比如session fa?ade、message fade、dto等。j2ee系统构架中常用的模式。uml->ejb,ejb->uml相互映射。现在也一样在研究。
善于享受孤独,幸好还有j2ee!
网络上、书店都提供了很多资料,很多方式都可以得到j2ee方面的资料。如何系统的、高效的学习j2ee这个问题摆在我们面前。比如, 有些人在看完一大堆书后,动起手来时还是不知道怎么开始。等等这些问题是我们最难处理的。如何寻找到一条很好的方式方法呢?
其实, 换一个角度来看,比如,学英语,一共有三个层面的东西,首先是词汇,然后是语法,再者是习惯用法(希望读者能够从程序设计的角度考虑问题,看看这两者有什么相似之处,其实他们的逻辑是一样的)。还比如,上数学课,老师在黑板上解题,大家都很轻松得听懂,自己动手时就会有很多问题。这些看来很简单的问题,其实都包含一个道理:理论联系实际,理论指导实践。
我们的理论在于,我们要有很好的方法。有些人看了很多书,写了不少程序,水平还是提高得很慢,很难跨越这道难关。还是方法问题。当然,我所谈论的方法,是自己的心得,体会,大家都有自己很独特的方法。没有绝对好、绝对坏的方法,看作用对象是谁。所以这里我们重点看看我这文章中所会提出来的方法。大家来评论评论。
j2ee是现在进行时。我们知道j2ee由很多技术构成,比如,ejb、xml、jdbc、rmi、jsp、servlet、。。。。等等这些,又包含很多内容。 无论这些具体的技术会怎么发展,怎么变化,我们要抓住主线,那就是掌握j2ee构架的精髓。用什么来分析呢,作用对象自然是j2ee specification(最新版是1.4,http://java.sun.com/j2ee )!
当然学习j2ee的前提是你对j2se有了足够的熟悉了,还有一点,你有很好的态度和兴趣。只看j2ee规范是不够的,最好结合产品和例子去思考,我建议大家用jbuilder 7 +bea weblogc platform 7.0,这种开发模式。为什么这么说呢?首先,jbuilder 7本身的功能就是不错,应该属于主流java ide了。其次,bea weblogic platform 7.0对j2ee specification最新版支持程度很好,同时也较容易获取,用的人也多。第三,开发效率不错。(borland网站有一份讲述jbuilder 7 + bea weblogic 7.0集成开发的文档。pdf格式。)??
jbuilder 7本身提供了很多帮助文档,有pdf格式,也有html格式(采用javahelp技术制作的),另外书店有一些jbuilder的参考用书,个人认为没有必要,第一,提供的版本都比较陈旧;第二,没有什么内容;第三,一般都是抄袭jbuilder 本身提供的帮助文档。(个人观点,没有任何商业目的)。当然,你的外语差不多要有四级水平,这个可不能没有,至少阅读能力不错(其实也不是这样的,我最开始时也是害怕,但开始投入后,英语资料也很简单,而且很地道!同时提高了您的外语)。
有了这两者,我们需要找出合适的对象来学习。在这里给出几方面的素材给大家提供参考。第一,在jbuilder 7的安装目录的这个地方,~~:/jbuilder7/samples/ejb/ejb20/esitewl,有一个很好的例子,esite。其中用到了session fa?ade设计模式,用到了jsp、servlet、session beans、entity beans(cmp)等技术,学习过程中不懂得地方可以参考第二。即,第二, http://java.sun.com/j2ee/tutorial/index.html 提供的j2ee tutorial资料,很不错,sun公司的。
第三,java pet store,刚开始学习j2ee技术分析该例子有点困难,再者这个例子中的j2ee构架不是很实用,但她给我们展示了j2ee几乎所有的核心技术,同时还提供了一本书,design enterprise applications with j2ee platform,很不错。第四,对j2ee构架比较了解,对ejb,xml,jsp,servlet等技术有了较好的理解和程序经验后,建议看看这几本书。《j2ee in practice》、《core j2ee patterns》、《sun certified ent architect for j2ee - tech study guide》、《java tools for extreme programming - wiley》、《ejb design patterns》、《masteringejb 2》、《enterprise javabeans,3rd》,够你看得了:)。
有了上述基础,结合大家做项目中的一些经验,我想水平应该会有不少提高。在初步掌握上述基础后,我们每个人都可以有自己在j2ee中的定位,比如有些开发人员可以考虑把时间花在商务逻辑层、另外一些喜欢花功夫在表示层,更有贪婪的家伙花在j2ee中所有的层。还有web services(j2ee 1.4 specification的重点,估计2003年初推出,今后的重要发展方向)。
同时,大家要注意从软件工程的角度考虑系统设计,实施,建议用用together!!!要求大家对uml有足够的了解。
闽公网安备 35060202000074号