java源代码手册 java源代码是什么格式( 二 )


对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法 。想记也记不住的 。而是要知道包有哪些方面的类构成的,这些类的用途是什幺 , 最核心的几个类分别是完成什幺功能的 。我在给人培训的时候一般是一次课讲一个包 , 所以不可能详细的介绍每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们类的方法是怎幺调用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每个类是用在什幺场合,当我遇到问题的时候,我知道哪个类,或者哪几个类的组合可以解决我的问题 , That'all!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了 。编码的时候,具体的方法调用,是边写代码,边查Documentation , 所有的东西都在Documentation里面 , 不要求你一定记住 , 实际你也记不住3000多个类的总共将近10万个方法调用 。所以对每个包的总体框架的把握就变得极为重要 。
第五步,通过上面的学习,如果学的比较扎实的话 , 就打好了Java的基础了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其它一些比较有用处的类 。相信进展到这一步 , Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了 。除了要做GUI编程之外,JDK里面其它会有用处的包是这些:
java.text.*;
java.net.*;
javax.naming.*;
这些包里面真正用的比较多的类其实很少 , 只有几个,所以不需要花很多时间 。
第六步,Java Web 编程,Web编程的核心是HTTP协议 , HTTP协议和Java无关,如果不熟悉HTTP协议的话,虽然也可以学好Servlet/JSP编程,但是达不到举一反三,一通百通的境界 。所以HTTP协议的学习是必备的 。如果熟悉了HTTP协议的话 , 又有了Java编程的良好的基础 , 学习Servlet/JSP简直易如反掌,我学习Servlet/JSP就用了不到一周的时间,然后就开始用JSP来做项目了 。
在Servlet/JSP的学习中,重头仍然是Servlet Documentation 。Servlet API最常用的类很少,花比较少的时间就可以掌握了 。把这些类都看一遍,多写几个例子试试 。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈 。另外对JSP,还需要熟悉几个常用JSP的标记,具体的写法记不住的话,临时查就是了 。
此外Java Web编程学习的重点要放在Web Application的设计模式上 , 如何进行业务逻辑的分析,并且进行合理的设计,按照MVC设计模式的要求,运用Servlet和JSP分别完成不同的逻辑层,掌握如何在Servlet和JSP之间进行流程的控制和数据的共享 , 以及Web Application应该如何配置和部署 。
第七步,J2EE编程
以上的学习过程如果是比较顺利的话,进行到这一步,难度又陡然提高 。因为上面的知识内容都是只涉及一个方面,而像EJB,JMS,JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶,所以掌握起来难度比较大 。
首先一定要学习好JNDI,JNDI是App Server定位服务器资源(EJB组件,Datasouce,JMS)查找方法,如果对JNDI不熟悉的话,EJB , JMS这些东西几乎学不下去 。JNDI其实就是javax.naming.*这个包,运用起来很简单 。难点在于服务器资源文件的配置 。对于服务器资源文件的配置,就需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等等 。针对每种不同的App Server , 还有自己的服务资源配置文件,也是需要熟悉的 。
然后可以学习JTA,主要是要理解JTA对于事务的控制的方法,以及该在什幺场合使用JTA 。这里可以简单的举个例子,我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,conn.commit()) , 做为一个原子操作 , 但是假设我的业务需求是要把对两个不同数据库的操作做为一个原子操作 , 你能做的到吗?这时候只能用JTA了 。假设操作过程是先往A数据库插一条记录,然后删除B数据库另一个记录 , 我们自己写代码是控制不了把整个操作做为一个原子操作的 。用JTA的话 , 由App Server来完成控制 。

推荐阅读