java入门学习指导之最佳方向

 
        我们学习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是什么东西?。我们学习Java大概有3个方向,第一,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,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 由很多技术构成,比如, 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 有足够的了解。

<script type=text/javascript> var arrBaiduCproConfig=new Array(); arrBaiduCproConfig['uid'] = 123541; arrBaiduCproConfig['n'] = 'codeofcpr'; arrBaiduCproConfig['tm'] = 30; arrBaiduCproConfig['cm'] = 68; arrBaiduCproConfig['um'] = 34; arrBaiduCproConfig['rad'] = 0; arrBaiduCproConfig['w'] = 234; arrBaiduCproConfig['h'] = 60; arrBaiduCproConfig['bd'] = '#FFFFFF'; arrBaiduCproConfig['bg'] = '#FFFFFF'; arrBaiduCproConfig['tt'] = '#0000CD'; arrBaiduCproConfig['ct'] = '#004040'; arrBaiduCproConfig['url'] = '#0000CD'; arrBaiduCproConfig['bdl'] = '#E0E0E0'; arrBaiduCproConfig['wn'] = 1; arrBaiduCproConfig['hn'] = 1; arrBaiduCproConfig['ta'] = 'right'; arrBaiduCproConfig['tl'] = 'bottom'; arrBaiduCproConfig['bu'] = 1; </script><script type=text/javascript> </script> 

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java技术栈非常广泛,有许多方向可以选择学习。以下是一些常见的Java技术栈学习方向: 1. Java基础和核心技术:深入学习Java SE,包括面向对象编程、多线程、集合框架等基础知识,掌握Java语言的特性和使用。 2. Java Web开发:学习Java EE,包括Servlet、JSP、JDBC等,掌握Web开发的基本概念和技术,以及常用的框架和工具,如Spring MVC、Struts2、Hibernate等。 3. 分布式系统:学习Java分布式系统的开发和设计,包括分布式计算、分布式缓存、分布式消息队列等,了解常用的分布式框架,如Spring Cloud、Dubbo等。 4. 大数据和数据处理:学习Java在大数据领域的应用,包括Hadoop、Spark、Flink等大数据处理框架,了解数据挖掘和机器学习的基本概念。 5. 微服务架构:学习Java微服务架构的设计和实现,了解Spring Boot、Spring Cloud等微服务框架,熟悉微服务的概念和开发模式。 6. Android开发:学习使用Java语言进行Android应用开发,了解Android开发的基本知识和常用框架,如Android Studio、Android SDK等。 7. 安卓逆向:学习逆向工程的基本原理和技术,了解Java在安卓逆向中的应用,包括反编译、分析APK文件等。 8. 容器化和云计算:学习Java在容器化和云计算领域的应用,包括Docker、Kubernetes等容器化技术,了解云计算平台的基本概念和使用。 除了以上方向,还有许多其他的Java技术栈可以选择学习,如游戏开发、物联网应用、企业级应用等。根据个人兴趣和职业发展目标,选择适合自己的学习方向,并持续学习和实践,不断提升技术能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值