[转载]Java学习之道

发信站: 兵马俑BBS (Thu Mar 17 14:24:09 2005), 本站(bbs.xjtu.edu.cn)

Java学习之道

前言

本篇文章是应邀之做,由stup和Stoney共同完成,时间比较仓卒,但是还是希望能
够给各位初学Java的朋友有用之处吧。本篇文章是按照csdn《程序员》杂志的一篇
文章的构架并结合自己的实际经验来写的。今年是Java诞生10周年,谨以此篇先给
我们钟爱的Java。

工具篇

JDK(Java Development Kit)

JDK是整个Java的核心,包括运行环境JRE(Java Runtime Environment),一些Ja
va工具和Java基础类库(rt.jar、tools.jar)。

1、JDK的下载和安装

2004年夏,Sun Miscrosystem 推出了全新的J2SE 5.0(Java 2 Platform Standar
d Edition 5.0,也叫做 Tiger),我们可以从Sun的Java网站上免费下载到,http
://java.sun.com/j2se/1.5.0/download.jsp。下载好的JDK是一个可执行安装程序
,默认安装完毕以后会在c:/ Java目录下安装JDK和JRE。然后设置环境变量:在Pa
th变量中添加C:/Java/jdk1.5.0/bin,新建CLASSPATH变量,在参数里边添加(.;C
:/ /Java/jdk1.5.0/lib/rt.jar;C: /Java/jdk1.5.0/lib/tools.jar)。新建JAVA
_HOME变量,设置参数为C: /Java/jdk1.5.0,安装配置完毕以后,在命令行情况下
运行java,如果出现大量信息,则证明安装配置成功!

2、     JDK的命令工具

JDK里边最重要的命令行工具:

java:启动JVM(Java Virtue Machine)执行class

javac:编译java源文件

jar:Java打包工具

javadoc:Java文档生成器

有关这些命令的具体用法,在命令行里边不带参数的直接执行上述命令,就会看到
大量的用法信息,读者可以具体实践一下。此外,JDK Documentation上面也有详细
的说明。

JDK Documentation

Documentation 可以说是Java程序员最重要的编程手册,涵盖了Java几乎所有方面
内容的描述。可以毫不夸张的说,学习Java编程,大部分的时间都是花费在研究和
查阅Documentation上面的。可见它的重要性,J2SE 5.0 Documentation可以到htt
p://java.sun.com/j2se/1.5.0/download.jsp下载,解压缩以后便可以很方便的使
用了。

应用服务器(Applicaiton Server)

Application Server 是用来运行Java 企业组件的平台,构成了应用软件的主要运
行环境,当前主流的Application Server是IBM公司的Websphere、BEA公司的Weblo
gic Server以及免费的JBoss,如果是爱好者,推荐免费的JBoss,还有比较简单的
Tomcat。下面简要介绍几种常用的Application Server

1、     Tomcat

严格意义上来讲,Tomcat只是一个可以支持运行Servlet/JSP的Web容器,不过Tomc
at也扩展了一些App Server的功能,Tomcat非常广泛的应用在中小规模的Java Web
中,因此是初学者的首选。下面就Tomcat的下载、安装和配置进行详细的介绍:

Tomcat是Apache组织Jakarta项目下的一个免费开源项目,目前最新版本的Tomcat5
.5支持Servlet2.4和JSP2.,我们可以从 http://jakarta.apache.org/site/downlo
ads/index.html  免费下载到。下载以后,解压到D:/tomcat里边。新建环境变量C
ATALINA_HOME,设置参数为D:/tomcat(或者自己的tomcat目录)。这样就将Tomca
t安装和配置完成,运行D:/tomcat/bin里边的startup.bat,启动tomcat。默认的端
口是8080,在浏览器中键入 http://localhost:8080。如果能看到有一个雄猫的界面
,那么恭喜您,你的tomcat配置成功了!然后我们就可以使用Tomcat进行简单的js
p和servlet的web编程实践了。

2、     BEA Weblogic

Weblogic可以到BEA的网站 http://commerce.bea.com/index.jsp下载最新的8.1版本
。Weblogic是一个功能强大的Server,具体用法可以参看Weblogic的在线文档http
://edocs.bea.com/。

3、     IBM Websphere

Websphere同样可以下载到免费的试用版本,可以到IMB的网站下载: http://www-1
28.ibm.com/developerworks/websphere/downloads/。做为IBM的产品,Websphere
更能非常强大,现在已经取代Weblogic成为应用最广泛的java服务器。

4、     JBoss

JBoss是免费的开源Application Server,可以免费从JBoss网站下载: http://www
.jboss.org/index.html,做为一个免费的Server,Jboss是学习J2EE的首选Server。


Java应用的分类及其运行环境

Java现在应用的非常广泛,从大型的企业服务器,到手机PDA都可以看到Java的身影
。简单的可以分为一下几个方面:

1、     Java的桌面应用

仅需要JRE的支持,我们就可以编写出可以跨平台的应用程序。

2、     Java Web应用

Java的Web应用至少需要安装JDK和一个web容器(例如Tomcat),以及多用户数据库
,Web应用可以分为三层:

Browser层:浏览器显示用户界面

Web层:运行Servlet/Jsp

DB层后台数据库,提供数据访问服务。

3、     Java企业级应用

Java目前应用最广泛的领域,目前全球大部分的服务器都是使用J2EE服务器。企业
级应用非常复杂,可以扩展到n层,最简单的情况也有4层:

Browser层:浏览显示用户界面

Client层:Java客户端应用程序直接和Web层或者EJB层交互

Web层:运行Servlet/Jsp

EJB层:运行EJB,完成业务逻辑运算

DB层后台数据库:提供数据服务

4、     Java嵌入式应用

现在的大多数手机和PDA都支持Java,其实就是支持Java嵌入式开发,这需要在Sun
的主页上下载J2ME开发包,还需要到特定的厂商那里下载模拟器。对于串口通讯,
IC卡等Java都提供了良好的开发环境。据悉,在某太空探测器上控制程序改为Java
语言来编写了。

书籍篇:

对于Java的初学者来说,如果找一本比较合适的入门教材的话,完整地介绍Java的
语法、面向对象和主要的API核心库等知识,那将对学习起到相当的促进作用。

我个人认为,一些经典的国外教材确实值得推崇,首先推荐要看的是《21天学通Ja
va 2》、《循序渐进Java 2教程》、《Java2从入门到精通》等书看起来比较浅显易
懂,将Java的基本只是都涉及到了,使你在很短的时间内掌握Java的基本内容。

看完这这本书之一以后,你就想对Java全面深入的学习,现在向你推荐《Java大学
教程》、《Java 2编程指南》等书,这几本书对Java的语法、面向对象的知识和AP
I函数库等介绍的比较详尽。让你能够比较熟练的使用Java来编程,解决一般的问题


最后向大家推荐的是《Java2核心技术》,这本书主要讲述了Java的核心技术也是J
ava的难点之处,具有很高的参考价值,无论是Java的初学者还是Java编程老手,都
能从此书受益。

这时候大家可能会注意到,其中竟然没有大名鼎鼎的《Thinking in Java》这本书
。其实,这本书主要是从编程思想上来讲的,并没有完整的讲述Java的整个体系,
而是一种类似Tips的方法来对Java的知识点进行深入的分析和解释,就好像C++的经
典教材《C++ Primier》一样,并不适合作为初学语言的入门教材,蛋是在深入学习
Java的过程中的同时来读这本书会觉得受益匪浅。

值得一提的是,其实最有实用价值的是JDK-Document(下文中简称doc, http://ja
va.sun.com/j2se/1.5.0/download.jsp中有离线版下载的,本例中只是列举了1.5的
doc,在相应的地方可以下载1.4甚至1.3的doc)和Java Tutorial在线教程(http:/
/java.sun.com/docs/books/tutorial/这个是在线查看的,离线版的下载本人目前
还不知道)。在doc中有四个部分API 文档(对SDK自带的标准Java API都进行了详
细的介绍,它是按照package来组织的,详细介绍了每一个class的继承关系,接口
的实现情况,以及所有public的属性和方法,对于每个方法的用途、调用的参数、
参数的类型,返回值的类型、以及方法可能抛出的异常等等)、guide(对一些Jav
a技术和概念进行讲述)、relnotes(这个介绍新版本的JDK的发布信息以及新特点
)、tooldocs(主要对Java的所有命令进行讲述)。Doc是我们每一个Java工作者在
编程时必须的手册,目前只有英文版,sun中国社区正在进行汉化,相信不久就会出
现中文版的doc了。Tutorial也相当的不错,主要针对初学者,不过对于其他阶段的
Java学习者也有很大的帮助了。

以上主要针对J2SE的学习进行讲述的,Java主要有J2SE、J2EE、J2ME三个部分,J2
SE是基础。当我们对J2SE的学习掌握的差不多的时候,其实我们就会对Java的学习
有自己独特的体会,就会发现每一个Java技术自己所带的doc都对我们的学习有很大
的帮助。此外,经常去一些著名的网站上去看看各位网友的作品,对Java学习的心
得,确实对我们有很大提高,这里推荐 http://blog.csdn.net。经常去图书馆或者
到书店去看看有关Java的书,看看它们是不是自己所需要的,这时候,选择学习Ja
va的书籍就会自己拿主意了。

在上述的一些书籍的介绍中,并非每本书都要看,可根据自己的实际情况进行选择
,或者像Java先行者咨询即可。

过程篇

在Java的学习过程中,大家首先要搭建一个Java的环境,安装好JDK。对于初学者来
说,在安装JDK的过程中,CLASSPATH的设置是初学者经常会问题的地方,其中,".
"表示当前路径,是CLASSPATH中必不可少的地方,否则,在有时候调试程序时,会
出现意想不到的错误。PATH的设置主要是为了在调试程序时方便而已,这个同Wind
ows的PATH含义一样。对于初学者,我个人强烈推荐使用UE(UltraEdit)+命令行(
Windows下附件中的命令提示符,Linux下面的Shell等)。在你自己对Java的操作比
较熟悉,对Java的底层只知识掌握的差不多的时候,然后再根据自己的需要选择合
适的IDE,在此处我向各位推荐的都是免费软件,Eclipse( http://www.eclipse.o
rg)和Netbeans( http://netbeans.org/),前者使用SWT编写的,后者是用Swing
编写的,我推荐使用前者,不过各位可根据实际情况尽心选择,此外还有付费软件
JBuilder,功能确实不错。

在第二步学习Java语法的过程中,其实你会发现和C++很相似,其实Java是继承了很
多语言的优点而诞生的一个优秀的编程语言。对于Java语法的学习不需要多长时间
,但是对于一些区别于C++的地方确实需要斟酌。每一本入门教材都会对语法进行大
篇幅的论述,因为这是基础。在学习中,一定要仔细,弄清出每一个细节问题,在
《Thinking in Java》中,对于语法的难点进行了详尽的论述,可以参考这本书。


Java是一种面向对象的语言,涉及到比如继承,构造器,抽象类,接口,方法的多
态,

重载,覆盖,Java异常处理机制等方面的概念,这里面有很多个知识点需要我们理
解,如果我们没有C++的基础的话,确实需要花费很长的时间,在这学习中,我觉得
应该是一个循序渐进的过程,而不可能是一步到位,在学习过程多反复几次,就会
有不小的收获。如果你对C++有基础的话,不妨考虑在对Java学习的差不多的时候,
学学UML(统一建模语言)和Java设计模式,会在今后编制Java程序中保持一个良好
的习惯。

对于Java中类库的学习。Java的类库很多,除了JDK标准类库意外,还有很多第三方
Java类库值得我们学习。我个人认为在学习中,以下几个经常用到的类库是我们必
须掌握的

java.io.*;

java.util.*;

java.net.*;

java.lang.*;

值得一提的是,在Java编程中,系统默认import java.lang.*,所以我们在书写的
时候就不需要在些这句了。

在学习中,我们不可能对每个类的每个方法进行仔细的学习和掌握,因为我们没有
那么多的时间。我们所作的只是了解整个package的框架,在Doc文档里面每一个pa
ckage前面都有一个Uses of Class,我们可以阅读一下这个,了解这个包内所有类
的用法,再对几个常用的核心类进行掌握即可。我们学习API达到知道在什么情况下
该用什么类就可以了,其实就有很多人,在编程的时候,也是在翻阅API文档,来寻
找呵护自己需要的类。说白了,对于类的积累,主要是在实践当中多多积累,在调
试过程中提炼出自己的心得,才有好处。对于其它包,只需要了解这个包的框架和
大致的类的分类就可以了,用的时候再仔细看看。

最后谈谈J2EE编程,其中J2EE编程中包括了JSP/Servlet技术。在JSP/Servlet的学
习中,最好能熟悉HTTP协议,这对我们进行编写程序有很大的帮助。我们主要的参
考工具就是servlet document了,我们花上不长的时间把doc里面的内容过一遍,然
后再参考Tomcat提供的范例学习后,我们就可以书写这方面的程序了。在JSP的学习
中,还有JSP标记,这个记不住,可以临时可以了,不过你得备好资料才能查询哦。
此外在学习JSP中,还有对定制标志的学习,这个学习一下它的用法,JavaBean等的
引入使得代码可重用。在设计模式上,按照MVC(模型-视图-控制)的设计模式来
完成,以及Web Appliacation等的部署等等。

在J2EE的学习中,除了要J2EE Document意外,找几本比较经典的教材看看。因为这
方面的难度比较大。掌握的知识涉及面主要有EJB、JMS、JNDI、JTA等,这些方面的
东西除了看书籍之外,对于网络上网友总结的心得的学习也有很大的益处。

最后是Web Services的学习,这个其实是把不同的服务统一起来提供一个统一的调
用接口,目前这方面的代表主要是SOAP(简单对象访问协议),对于这方面的学习
我们可以看看SOAP的规范 http://www.w3.org/TR/soap/,此外Apache提供了soap(
http://ws.apache.org/soap/index.html )包可以和Tomcat配合使用,它的学习可
以参看soap包自己的doc。

说了这么多,其实最主要是看doc,然后再看看相关的经典教材。

方法篇

学习一门语言,最有效的办法是在学习的同时能够书写代码,调试,这样我们对学
习的记忆比较深刻,但是我们学习时候不能满足于调通了这个程序,我们可以尝试
一下,修改代码中的部分内容,看看会出现什么情况,最后在想一想,为什么这样
写。

还要注意的是,在自己书写代码的时候一定要写注释,养成一个良好的习惯,仿照
JDK提供的sample里面的书写规则,使得代码的结构比较清晰。

扩展篇

在Java的学习中,不能只局限于学习Sun提供的Java技术,目前,Java开源社区开展
的如火如荼,也贡献出不少精品,比如Hibernate+Spring,Eclipse,JBOSS等等。
我们可以根据需要有选择性的学习这些技术。但起码平时要对这些技术 有些大致的
了才对。

资源篇

在Java的学习过程中,我一直提到网上资源的重要性和新颖性,经常查看网上资源
,有时候,一篇文章可以是你茅塞顿开或者是为你开辟了一条新的学习道路。

下面列举一些较好的网络资源:

1、     http://java.sun.com                       sun的Java主页

2、     http://www-900.ibm.com/devebperWorks/cn/      IBM的开发者社区,极力推


3、     http://www.javaworld.com

4、 http://dev2dev.bea.com.cn/index.jsp 

5、     http://www.huihoo.com 

6、     http://gceclub.sun.com 

7、     http://www.javaresearch.com

8、     http://www.matrix.org.cn

9、     http://www.cn-java.com

好了就介绍这么多吧,大家平时在学习中多多积累吧。

后记

从文中可以看出,本人的水平也就just so so,文章中难免有一些不正确之处,以
免误认子弟,欢迎站内来信进行指点,我的ID是stup,再次多谢各位了。 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值