一、本书学习目标.
Java本身是一种设计非常简单、非常精巧的语言,要学会Java基础,必须掌握从Java开发环境的搭建到Java基础语法知识,再到Java的核心API。根据由浅入深的顺序,我们的学习目标分为如下4个大的方面,它们的关系如下图所示。
对于以上4个方面的内容,前两部分是基础,第3部分是核心,第4部分是补充和完善。这4个方面的技术内容包括如下。
(1)Java开发入门:必须掌握Java开发环境的安装与使用,包括JDK命令、Eclipse集成开发环境、Linux下Java程序的开发与部署等。
(2)Java语法基础:在JDK和Eclipse开发环境下,要进行Java核心功能的开发,必须了解Java面向对象的语法构成,包括类、抽象类、接口、最终类、静态类、匿名类、内部类、异常的编写,并注意编写符合Java编码规范和文件样式的代码。
(3)Java核心API:根据JDK提供的类库,需要掌握三大核心功能。
Java核心编程:包括Java编程的两大核心功能——Java输入/输出流和多线程,以及常用的辅助类库——实体类、集合类、正则表达式、XML和属性文件。
Java图形编程:包括Sun的GUI库AWT(Java2D、JavaSound、JMF)和Swing,IBM的GUI库SWT和Jface。
Java网络编程:进行Java网络编程的几种重要技术,根据应用场景的不同可以包括Applet组件编程、Socket编程、NIO非阻塞Socket编程、RMI和CORBA分布式开发。
(4)Java高级特性:掌握JDK 1.4、JDK 5.0、JDK 6.0中的Java高级特性,包括反射、泛型、注释符,以及Java的新特性——自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环、静态导入等。
二、本书学习课程安排
本书的内容总体上分为6个部分,从Java开发环境的引入,逐层深入讲解Java的各种技术,包括Java语法基础知识、核心编程、图形编程、网络编程、高级特性。各部分内容安排如下。
分 类学 习 要 点对 应 包源 程 序课时(分钟)上机(分钟)
第1部分
Java开发入门01.Java快速上手HelloWorld.zip75150
02.JVM内存结构及其调优7530
03.在Eclipse下开发Java程序demo.zip75150
04.在Linux下开发Java程序120360
第2部分
Java语法基础05.Java核心语法详解javasyntax.zip14060
.06.Java面向对象编程javaoop.zip60120
07.Java面向对象编程扩展java.langjavaexception.zip9060
08.Java编码规范与样式9030
第3部分
Java核心编程09.Java输入/输出流java.iojavaio.zip
javavi.zip140120
10.Java多线程编程java.lang
java.util.concurrentjavathread.zip100120
11.Java常用实体类java.utiljavautil.zip100
12.Java常用集合类java.util100
13.Java正则表达式java.reg6030
14.XML与属性文件org.w3c.dom
org.xml.sax
javax.xml.parsers
javax.xml.streamjavaxml.zip60
第4部分
Java图形编程15.Java GUI库对比javagui.zip3030
16.AWT图形界面开发java.awtjavaawt.zip9060
17.AWT多媒体编程java.awt.image
javax.sound
javax.mediajavamedia.zip120120
18.Swing图形界面开发javax.swingjavaswing.zip5060
19.SWT图形界面开发org.eclipse.swtjavaswt.zip8060
20.SWT增强组件库JFaceorg.eclipse.jfacejavajface.zip30
(续表)
分 类学 习 要 点对 应 包源 程 序课时(分钟)上机(分钟)
第5部分Java网络编程21.Applet组件编程java.appletjavaapplet.zip3030
22.Java网络编程java.netjavanet.zip12060
23.NIO非阻塞编程java.niojavanio.zip12060
24.RMI分布式网络编程java.rmi, java.securityjavarmi.zip6060
25.CORBA分布式网络编程javax.rmi.CORBA
org.omg.CORBAjavacorba.zip4560
第6部分
Java高级特性26.Java反射编程与动态代理java.lang.reflectjavareflection.zip6060
27.Java泛型编程javageneric.zip30
28.Java注释符编程java.lang.annotationjavaannotation.zip30
29.Java 5.0语言新特性javafeature.zip30
合计37H32H
从对应包一列可以看到,讲解的内容覆盖了大部分的JDK库包,并且都将讲解过程中的演示代码和实例打包在光盘中。每一章的正文内容和课后上机作业都根据内容多少和重要性规定了学习和上机的时间(分钟),总的正文学习时间为2210分钟(36.8小时),上机时间为1890分钟(31.5小时)。这是对于讲课培训给出的参考时间,读者自学时需要至少2倍的集中时间学习。
三、本书范例程序
本书从第1部分到第6部分逐层深入,分别讲解了各种开发技术的使用,并做了入门使用的样例,也通过实例和上机作业进行实战演练。所有的测试代码和实例都打包放在光盘中source目录下,共包括25个程序包:
第1部分(2个程序包)
HelloWorld.zip01.Java入门样例HelloWorld
demo.zip03.Eclipse入门样例demo
第2部分(3个程序包)
javasyntax.zip05.Java核心语法详解
javaoop.zip06.Java面向对象编程(计算器)
javaexception.zip07.Java面向对象编程扩展(计算器异常捕捉实例)
第3部分(5个程序包)
javaio.zip09.Java输入/输出流
javavi.zip09.Java输入/输出流上机作业参考(文本编辑器)
javathread.zip10.Java多线程编程(线程池、生产者消费者、存取款实例)..
javautil.zip11.Java常用实体类
javaxml.zip14.XML与属性文件
第4部分(6个程序包)
javagui.zip15.Java GUI库对比实例
javaawt.zip16.AWT图形界面开发——Java文本编辑器
javamedia.zip17.AWT多媒体编程——录音机、MP3播放器、视频拍照、视频播放器
javaswing.zip18.Swing图形界面开发——Java文本编辑器
javaswt.zip19.SWT图形界面开发——Java文本编辑器
javajface.zip20.SWT增强组件库JFace
第5部分(5个程序包)
javaapplet.zip21.Applet网络组件——电子相册
javanet.zip22.Java网络编程详解(Socket/UDP实例、简单聊天系统)
javanio.zip23.NIO非阻塞通信(Socket/UDP实例、简单聊天系统)
javarmi.zip24.RMI编程(HelloWorld实例、计算器实例)
javacorba.zip25.Corba编程(HelloWorld实例、计算器实例)
第6部分(4个程序包)
javareflection.zip26.Java反射机制与动态代理
javageneric.zip27.Java泛型编程
javaannotation.zip28.Java注释符编程
javafeature.zip29.Java 5.0语言新特性
在这些样例中,除了第1章HelloWorld.zip是根据命令行编译的,其他的程序包都是在Eclipse 3.4中开发的,你可以直接使用Eclipse的导入功能导入这些程序包。导入的方法:首先将要运行的程序包解压缩到Eclipse的工作目录(如D:\eclipse\workspace),单击Eclipse左侧的项目工作区空白处,单击鼠标右键,在弹出的右键菜单中选择“导入”,然后在弹出的导入窗口中选择“从现有项目到工作空间中”,并选择刚才解压缩后的程序目录,单击“确定”按钮即可导入到Eclipse中。
注意:在将项目导入到Eclipse之前,需要设置Eclipse系统的默认编码方式为UTF-8,否则项目中的中文会显示为乱码。设置的方法是:选择Eclipse菜单【Windows】→【Preferences】,在弹出的设置窗口中选择【General】→【Workspace】,选择编码为UTF-8即可。
四、光盘使用说明
在光盘software目录下仅包含了本书所需要软件安装包的下载存放目录,并在software\readme.txt中详细记录了每一个软件的官方网站、所需版本和该版本的下载链接地址,请读者在学习本书前到指定的网址下载各个软件。
说明:考虑到版权问题,我们只提供了这些软件的下载链接地址。这些下载地址在本书写作时都已经经过了验证确认,有些链接也许需要您注册登录后才能够下载。如果下载的链接地址不存在,则表明该网站已经移除了链接,请您在指定的官方网站上找到下载的页面来下载对应版本的文件。
本书所用软件、使用版本、下载地址列表:
(1)JDK
本书使用版本:1.6.0
官方网站:http://java.sun.com/
下载页面:http://java.sun.com/javase/downloads/index.jsp
下载文件:jdk-6u10-beta-windows-i586-p.exe、jdk-6u10-beta-linux-i586.bin、jdk-6u10-beta-linux-
i586-rpm.bin
(2)Eclipse
本书使用版本:3.4
官方网站:http://www.eclipse.org/
下载页面:http://www.eclipse.org/downloads/
下载地址:http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/
R-3.4-200806172000/eclipse-SDK-3.4-win32.zip
下载文件:eclipse-SDK-3.4-win32.zip、eclipse-java-ganymede-linux-gtk.tar.gz
(3)Jad反编译软件
本书使用版本:1.5.8
官方网站:http://www.kpdus.com/jad.html
下载页面:http://www.kpdus.com/jad/winnt/jadnt158.zip
Jadclipse地址:http://sourceforge.net/projects/jadclipse
(4)虚拟机软件VMWare
本书使用版本:6.0.4
官方网站:http://www.vmware.com/
下载页面:http://www.vmware.com/downloads/eula.do
下载文件:VMware-workstation-6.0.4-93057.exe
(5)AWT mp3支持包
本书使用版本:1.9.4
官方网站:http://www.javazoom.net/
下载页面:http://www.javazoom.net/mp3spi/sources.html
下载地址:http://www.javazoom.net/mp3spi/sources/mp3spi1.9.4.zip
下载文件:mp3spi1.9.4.zip
(6)AWT JMF包
本书使用版本:1.9.4
官方网站:http://java.sun.com/javase/technologies/desktop/media/jmf/index.jsp
下载页面:http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/download.html
下载地址:http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site
en_US/-/USD/VerifyItem-Start/jmf-2_1_1e-windows-i586.exe?BundledLineItemUUID=
McRIBe.mExYAAAEd6.IHtp.m&OrderID=X7RIBe.m1HIAAAEd1eIHtp.m&ProductID
=X4zACUFBcakAAAEYzNI5AXis&FileName=/jmf-2_1_1e-windows-i586.exe
下载文件:jmf-2_1_1e-windows-i586.exe
五、致谢
参与本书技术调研和程序调试的有:李金刚、刘剑、陈景春、周同、刘中敏、陈万珍、李瑞霞、耿博、李建海。本书在编写过程中得到了Apache软件组织和Sun公司在技术上的大力支持,飞思科技产品研发中心负责监制工作,在此表示衷心感谢!尽管我们尽了最大努力,但本书难免会有不妥之处,欢迎各界专家和读者朋友批评指正。...
本书专业论坛交流答疑:www.100tt.net
编 著 者
联系方式
咨询电话:(010)68134545 88254160
电子邮件:support@fecit.com.cn
服务网址:http://www.fecit.com.cn http://www.fecit.net
通用网址:计算机图书、飞思、飞思教育、飞思科技、FECIT