内容简介
目录
第一部分Java语言
第1章面向对象程序设计
1.1面向对象程序设计:一种新的思维方式
1.2程序设计简史
1.2.1过程式语言
1.2.2结构化开发
1.2.3面向对象程序设计
1.3关于对象
1.3.1传统的程序设计
1.3.3用继承机制扩展对象
1.3.2 OOP方法
1.4多实体对象
1.5模块化与代码组织
1.6将对象关联到Java类
1.7构建层次结构:OOP设计步骤
1.7.1将问题分解成多个实体
1.7.2在实体间寻找共同点
1.7.3在实体间寻找差异
1.7.4用抽象和继承机制设计层次结构
1.8 OOP与UML
1.8.1 UML简介
1.8.2类图
16.4.5属性 5
1.8.3顺序图
1.8.4 UML指导思想
1.9 Java是充满魔力的OOP语言吗?
第2章HelloWorld:第一个Java
程序
2.1 理解HelloWorld程序
2.1.1 创建文件
2.1.2编译代码
2.1.3运行程序
2.2 理解HelloWorld
2.2.1 注释
2.2.3 main方法
2.2.2声明类
2.2.4显示到屏幕上
2.2.5 System.out和System.in
2.3 作为applet的HelloWorld
2.3.1修改并编译源代码
2.3.2 创建HTML文件
2.3.3 在AppletViewer中运行程序
2.3.4 在Internet Explorer中运行Hello World
2.3.7 Applet的paint方法
2.3.6 声明一个applet类
2.3.5导入其他类
2.4保留字
2.3.8 applet短暂的生命
2.5 Java 1.3 API
2.6 故障排除
第3章数据类型与其他标记
3.1 Java数据类型
3.1.1 原始类型
3.1.2 引用类型
3.2.2标识符:对变量的命名
3.2使用变量
3.2.1 声明变量
3.3布尔原始类型
3.4整数类型
3.4.1 整数值的界限
3.4.2 声明整型变量
3.4.3整数运算
3.5运算符
3.5.1算术运算符
3.5.2赋值运算符
3.5.3增量/减量运算符
3.6字符变量
3.7浮点变量
3.8直接量:赋值
3.9整型直接量
3.10字符型直接量
3.11浮点型直接量
3.12字符串直接量
3.13数组
3.14不使用标记的输入元素
3.14.1空格(whitespace)
3.14.2注释
3.15故障排除
第4章方法与异常
4.1 方法声明
4.1.1访问修饰符
4.1.2修饰符(modifiers)
4.1.4方法名
4.1.5参数
4.1.3返回信息
4.1.6异常
4.2块与语句
4.2.1 标号语句
4.2.2作用域
4.2.3 局部变量初始化
4.3 方法和UML顺序图
4.4捕获并抛出异常
4.4.1 使用try/catch/finally
4.4.2抛出异常
4.4.3组合方法
4.4.4异常的类型
4.4.5处理多个异常
4.4.6创建自己的异常类
4.5 Java的错误类
4.4.7异常与返回值
4.6故障排除
5.1什么是表达式?
第5章使用表达式
5.2表达式怎样求值
5.2.1 运算符的结合性
5.2.2 运算符的优先顺序
5.2.3求值顺序
5.3 C程序员应特别注意的地方
5.4按位运算符
5.5移位运算符
5.5.1 左移
5.5.2有符号右移
5.5.3无符号右移
5.6类型转换
5.6.1 隐式转换
5.6.2使用类型转换运算符的显式转换
5.7支持字符串的特殊运算符
5.8 故障排除
5.6.3字符转换
6.2布尔运算符
第6章控制流
6.1控制运行流程
6.2.1关系运算符
6.2.2等价运算符
6.3逻辑表达式
6.3.1条件AND和条件OR运
算符
6.4条件运算符
6.3.2 逻辑非运算符
6.5控制流语句中的布尔运算
6.6控制流功能
6.6.1 if语句
6.6.2 if-else语句
6.7 Switch语句
6.8循环语句
6.8.3 for循环
6.8.1 while循环
6.8.2 do循环
6.9跳转语句
6.9.1 break语句
6.9.2 continue语句
6.9.3 return语句
6.10故障排除
第7章类
7.1什么是类?
7.2为什么使用类?
7.3 Java中的类
7.4.1访问修饰符
7.4声明一个类
7.4.2修饰符
7.4.3类名
7.4.4超类——扩展另一个类
7.5变量——定义状态
7.5.1访问修饰符
7.5.2修饰符
7.5.3实例域
7.5.4类域
7.5.5声明一个常量
7.5.6实现一个枚举类型
7.6方法——定义行为
7.6.1构造器
7.6.2重载方法
7.6.3用方法来提供guarded访问
7.6.4类方法
7.7.2 垃圾回收
7.7.1 new运算符
7.7创建类的一个实例
7.8引用类元素
7.9 Object类
7.9.1对象相等
7.9.2拷贝一个类实例
7.9.3在finalize()方法中进行清扫工作
7.10类型转换与转换引用类型
7.10.1 编译时与运行时的类型检查
7.11.2使用类属类的理由
7.10.2使用instanceof运算符
7.11.1定义类属类
7.11类属类
7.11.3类属类如何工作
7.12包
7.12.1使用包来组织代码
7.12.2包与你的文件系统
7.12.3从另一个包中导入一个类
7.12.6 Java.lang的隐式导入
7.13将原始类型包装在类中
7.12.5不经导入而使用类
7.12.4导入整个包
7.15建立UML类图
7.14使用标准的数学函数
7.16故障排除
第8章字符串和文本的使用
8.1字符串介绍
8.2使用字符串类
8.3 获得字符串对象信息
8.4字符串比较
8.5字符串提取
8.7字符串连接
8.6字符串操作
8.8将对象转换成字符串
8.9将原始类型转换成字符串
8.10使用StringBuffer类
8.10.1创建一个StringBuffer对象
8.10.2在StringBuffer后面附加内容
8.10.3转换一个StringBuffer对象为字符串
8.10.4对StringBuffer对象进行操作
8.11使用StringTokenizer类
从文件中获得所有标记符
8.12字符串和编译器
8.13故障排除
第9章接口
9.1接口是什么?
9.1.1并不是每一个类本身都有一个接口
9.1.2多接口
9.2定义一个接口
9.2.1 声明
9.2.2接口程序体
9.2.3标记接口
9.3实现一个接口
9.3.1 方法重载
9.3.2修饰符
9.3.3参数列表
9.3.4程序体
9.3.5异常
9.3.6接口方法冲突
9.4接口引用
9.4.1访问常量
9.4.2设计一个接口胜于实现一个接口
9.5在一个接口和一个抽象类之间选择
9.6在UML中描述接口
9.7 故障排除
第10章数据结构与Java设施
10.1 Collection和Utility类
10.2 Collection结构
10.3 Collection结构的接口
10.3.1 Collection接口
10.3.2 List接口
10.3.4 Map接口和SortedMap接口
10.3.3 Set接口和SortedSet接口
10.4基本类和接口
10.4.1 Vector类
10.4.2 ENUMERATION接口
10.4.3 STACK
10.4.4 Hashtable
10.5通用实现类
10.5.1 ArrayList类
10.5.2 LinkedList类
10.5.3 HashMap
10.5.4 TreeMap
10.5.5 WeakHashMap
10.5.6 HashSet
10.5.7 TreeSet
10.6 Collection排序
10.6.1 COMPARABLE接口
10.6.2 Comparator接口
10.6.3 Collections.sort()的使用
10.7.1 Iterator接口
1 0.7 Collection结构重述
10.7.2 ListIterator接口
10.7.3有效搜索
10.8 Collection功能和约束
10.8.1方法和域
10.8.4不可变Collection结构
10.8.3同步化的Collection结构
10.8.2 Singleton方法
10.10 Array的功能
10.10.1 Array类
10.9使用哪种Collection类?
10.10.5排序Array
10.11 使用Properties类配置应用程序属性
10.10.2搜索Array
10.10.3两个Array的比较
10.10.4填充Array
10.11.3存储和获取Properties对象
10.11.2查询Properties对象
10.11.1设置Properties对象
10.12 Date类型
10.12.1 Date类
10.12.4改变Date属性
10.13 BitSet类
10.12.3将Date类型转换为String类型
10.12.2 Date对象比较
10.14随机数的产生
10.15 使用Observer/Observable观察状态变化
10.15.1 Observable类
10.15.2 Observer接口
10.16故障排除
第11章线程
11.1什么是线程?
11.2为什么使用线程?
11.3如何制作线程类? .
11.4扩展Thread
11.5 实现Runnable
11.6线程的生命周期
11.7使用Thread定位变量
11.8改变线程优先级
11.9线程同步
线程间通信
11.10改变线程运行状态
11.11线程组
11.12获取当前运行线程数量
11.13线程让位
11.14守护线程
11.15使用Timer类和Timer
Task类
11.16在程序中安全使用线程
11.17故障排除
第二部分用户界面
12.1.1 AWT
12.1什么是JFC
第12章Java基础类介绍
12 1.3辅助功能
12.1.2 Swing
12.1.4 Java 2D
12.1.5拖放
12.2 JFC的历史
12.2.1 AWT 1.0
12.2.2 Internet基础类
12.2.3应用基础类
12.2.4 Java基础类
12.3 JFC的应用程序
12.3.1尝试JFC的AWT应用
程序
12.2.5将来的展望
12.3.2尝试JFC的Swing应用程序
12.4 Applet
12.4.1什么是Applet
12.4.2 Applet和World WideWeb
12.4.3 AWT applet
12.4.4 AWT Applet HTML
12.4.5 Swing applet
12.4.6 Swing Applet HTML
12.4.7体系结构
12.4.8 Applet和应用程序
12.5故障排除
第13章AWT基础
13.1什么是AWT
13.2图形
13.2.1画图的基础
13.2.2显示文本
13.2.3绘制形状
13.2.4实用类和接口
13.2.5实用方法
13.3字体和颜色
13.3.1 认识字体
13.3.2创建字体
13.3.3字体度量
13.3.4颜色描述
13.3.5系统颜色
13.4图像
13.4.1载入和绘制图像
13.4.2动画
13.4.3产生图像
13.4.4消费图像
13.4.5过滤图像
13.5故障排除
第14章使用AWT方式创建GUI
14.1 窗口工具集介绍
14.2使用组件、容器和布置管理器创建GUI
14.2.1系统工具集
14.2.2对等实体、重量组件和轻量组件
14.2.3组件研究
14.2.4容器研究
14.2.5布局管理器研究
14.3使用事件和监听器创建GUI
14.3.1事件研究
14.3.2监听器研究
14.4定制窗口工具集
14.4.1创建自己的容器
14.4.2创建自己的布局管理器
14.5故障排除
第15章Swing简介
15.1什么是Swing
15.2 比较Swing和AWT
15.3 混合重量和轻量的组件
15.4 从AWT到Swing的转换
15.5故障排除
第16章使用Swing方式创建GUI
16.1 Swing工具集
16.1.1模型视图控件器(Model-View-Controller)结构
16.1.2可插入的外观和感觉
16.2使用组件、容器和布置管理器创建GUI
16.2.1研究组件
16.2.2研究容器
16.2.3研究布局管理器
16.3使用事件和监听器创建GUI
16.4附加功能
16.4.1行为
16.4.2边
16.43键盘输入和捆绑
16.4.4绘制
16.4.7定时器
16.4.6线程问题
16.5故障排除
第17章辅助功能
17.1什么是辅助功能
17.2辅助功能是如何工作的
17.3实用工具(Utilities)
17.3.1 AccessibilityMonitor
17.3.2 AWTMonitor
17.3.3 Ferret
17.3.4 JavaMonitor
17.3.6 Monkey
17.3.5 Linker
17.4 Robot
17.5故障排除
第18章Java 2D
18.1什么是Java 2D
18.1.1 Graphics2D
18.1.2坐标系统
18.1.3环境、设备和配置
18.1.4多屏幕环境(Multiple-Screen Environments)
18.1.5 API
18.2.1着色提示属性
18.2着色101
18.2.2 Stroke属性
18.2.3 Paint属性
18.2.4 Transform属性
18.2.5裁剪路径属性
18.2.6合成属性
18.3 图像、文本和带缓冲的图像(Shapes、Text And BufferedImages)
18.3.1图形(Shapes)
18.3.2文本(Text)
18.3.3带缓冲区的图像(BufferedImage)
18.4打印
18.4.1打印结构(The PrintingFramework)
18.4.2工作控制和提交(JobControl And Rendering)
18.4.3操纵Printable类型打印(Playing With Printable)
18.4.4操纵Pageable类型打印(Playing With Pageable)
18.4.5快速打印和脏打印(QuickAnd Dirty Printing)
18.5故障排除
第19章拖放
19.1什么是拖放
19.2数据传送
19.2.1 DataFlavors
19.2.2 Transferables
19.2.3剪贴板拥有者
19.2.4剪贴板
19.3拖放
19.4故障排除
第20章Java媒体框架
20.1什么是JMF
20.1.1 JMF的下载与安装
20.1.2 API
20.1.3分层的体系结构
20.1.5时基和时钟
20.1.4媒体流
20.1.6管理器
20.2播放媒体
20.3处理媒体
20.4捕捉媒体
20.5故障排除
第三部分I/O
第21章流、文件和串行化
21.1什么是流
21.3用字节流读写数据
21.2使用流类
21.3.1 InputStream类
21.3.2 OutputStream类
21.3.3读写字节数组
21.3.4读写文件
21.3.5流缓冲
21.3.6过滤流
21.3.7打印流
21.4重定向标准输入/输出
21.5.1使用BufferedReader和BufferedWriter
21.5使用Reader和Writer
21.5.2使用LineNumberReader
21.5.3使用InputStreamReader和OutputStreamReader
21.5.4 PrintWriter类
21.6有关文件的工作
21.7创建文件
创建临时文件
21.8读写文件
21.8.1随机文件访问
21.8.2文件的安全性
21.9目录操作
退出时删除文件
21.10对象流
21.11 故障排除
第22章对象串行化
22.1什么是对象串行化
22.1.1对象串行化如何工作
22.1.2用对象引用处理对象
22.2对象串行化的例子
22.3读写自己的对象
22.4定制对象串行化
使用Transient关键字
22.6故障排除
22.5使用Externalizable接口
第23章通信和组网
23.1网络通信概述
23.2 TCP/IP体系结构
23.2.1 TCP/IP协议
23.2.2网际协议(InternetProtocol,IP)
23.2.3传输控制协议(TCP)
23.3和Socket一起工作
23.3.1什么是一个Socket
23.3.2 Client Socket
23.3.3服务器Sockets
23.5使用Socket通过网络传送对象
23.4使用Socket时压缩数据
23.6使用Socket传送对象
23.7获得主机名和IP地址信息
23.8用户数据报协议(UDP)
23.8.1 UDP Socket特性
23.8.2 Java UDP类
23.8.3一个数据报的例子
23.8.4多点传送
23.9 World Wide Web概述
23.10理解请求/应答机制
23.11.2创建一个URL对象
23.11 使用URL类
23.11.1什么是URL
23.11.3创建一个URL连接
23.11.4对一个URL链接读和写
23.12一个用来建立一个WWW图表的例子
23.13 HTTP和SSL协议
23.14 Java安全端口扩展包概述
23.15故障排除
第24章国际化使用
24.1什么是国际化
24.3 Locale类
24.2国际化的Java支持
被支持的现场
24.4对位置敏感的数据打包
24.4.1 数据捆绑
24.4.2 ListResourceBundles
24.4.3 PropertyResourceBundle
24.5 日历和时区支持
Calendar类
24.6国际化格式化
24.6.2 日期和时间格式化
24.6.1 Format类
24.6.3数据格式化
24.6.4消息格式化
24.7字符集转换器
24.8 Reader和Writer类
24.9 Java.text包
24.10一个例子:国际化测试
24.11 故障排除
25.1使用JAR文件
25.1.1绑定
第25章JAR文件
25.1.2压缩
25.1.3 可移植性
25.1.4版本信息
25.1.5安全性
25.1.6减少下载时间
25.2 ZIP格式与JAR格式之间的差异
何时使用JAR文件
25.3创建和浏览JAR文件
25.3.2从文件中解压文件
25.3.1列出档案文件内容
25.3.3 更新JAR文件
25.4 显示说明文件
25.4.1绑定为JAR文件的应用程序
25.4.2包封装
25.4.3包的版本信息
25.4.4下载扩展
25.5读写JAR文件
25.6在Classpath中加入JAR文件
25.7 JAR文件与安全性
25.7.1私钥、公钥及证书
25.7.2 Keytool
25.7.3 jarsigner
25.8何时使用JAR文件
25.9故障排除
第四部分数据库
第26章JDBC 2.0基本概述
26.1什么是JDBC
26.2 JDBC 2.0概述
26.3 JDBC驱动程序
26.3.1 Type Ⅰ
26.3.2 Type Ⅱ
26.3.3 Type Ⅲ
26.3.4 TypeⅣ
26.4建立数据库
建立范例数据库模式
26.5安装和使用JDBC驱动程序
26.6 JDBC URL
26.7连接数据库
26.7.1载入驱动程序
26.7.2建立连接
26.8使用JDBC读取数据
26.8.1 Statement类
26.8.2 ResultSet类
26.9用JDBC写数据
26.10使用已准备的语句
26.11使用事务
26.12从数据库中获得元数据
26.13使用现有的存储过程
26.14故障排除
27.1 JDBC 2.0 API中的新特性
27.1.1使用可滚动的ResultSet
27.1.2使用可修改的ResultSet
27.1.3修改的批处理
27.2.1行集
27.2使用JDBC可选包
27.2.2连接池
27.2.3分布事务
27.2.4数据源
27.3理解从对象到关系的映射机制
27.4故障排除
第五部分组件开发
第28章反射
28.1什么是反射
28.2反射API中的关键类
28.2.1 构造类
28.2.3 field类
28.2.2 Method类
28.3安全考虑
28.4创建一个只知道构造器清单的类
28.5检查一个类的方法
28.5.1获得一个方法的清单
28.5.2使用getDeclaredMethod()方法来调用一个方法
28.5.3调用将参数作为原语类型接受的方法
28.6访问一个类的声明域
28.7应用方法包
28.8使用代理实现一个接口
28.9故障排除
第29章JavaBeans
29.1 自包含组件
29.2组件模型中的重要概念
29.2.1组件域或属性
29.2.2组件方法或函数
29.2.3组件间通信和事件
29.2.4状态持续和存储
29.3设计一个JavaBean的基本问题
29.3.1指定Bean的属性
29.3.4最初的属性值和Bean定制
29.3.2指定Bean产生和响应的事件
29.3.3属性、方法和事件开放
29.4创建和使用属性
29.4.1单值属性
29.4.2带索引的属性
29.4.3绑定属性
29.5 使用事件和别的组件通信
29.5.1多点传送事件
29.5.2单点传送事件
29.5.3事件适配器
29.6 内部透视:创建和使用BeanInfo类
29.7定制:提供定制的PropertyEditors和GUI接口
29.7.1 PropertyEditors和PropetyEditorManager
29.7.2定制编辑器
29.7.3在非GUI环境中提供选择性的行为
29.8 Bean打包
29.9 Enterprise JavaBean
29.9.1将用户应用程序进行划分
29.9.2服务器组件
29.10故障排除
附录A安装SDK并开始应用
A.1获得SDK 1.3SE
附录
A.2安装SDK 1.3SE
A.2.1 为Windows安装SDK
A.2.2连接多个安装文件
A.2.3开始Windows安装程序
A.2.4为Solaris安装SDK
A.2.5使用自解压安装格式
A.2.6 为Linux安装JDK
A.3.1 PATH环境变量
A.3.2 CLASSPATH环境变量
A.3测试Java编译器和Java虚拟机(JVM)
A.2.7使用RPM安装格式
附录B SDK工具
B.1 SDK工具介绍
B.2 Apple Viewer
B.3 java-Java解释器
B.4 javaC-Java编译器
B.5 javaP-Java分解器
B.6 javadoc 工具(文档产生器)
B.7 jdb-Java调试器
附录C SDK 1.3性能提高
C.1 通常的性能提高
C.1.4装入Swing类
C.1.3 BigInteger中的性能增强
C.1.1减少和字符串相关的存储器脚印
C.1.2 JAR文件存储器使用减少
C.2 HotSpot技术介绍
C.3什么使HotSpot更好
C.3.1实时自适应编译
C.3.2方法内联
C.3.3改进和重新设计的对象设置
C.3.4 快速和完全准确的garbage收集
C.3.5快速线程同步
C.4 Java HotSpot客户机虚拟机
C.6 Applet应用改进
C.6.1 Applet缓存控制
Java应用程序发射器
C.5 Java HotSpot服务器虚拟机2.0
C.6.2 Applet支持类的快速装入
C.6.3 JAR索引
C.6.4扩展部分的自动安装
附录D Java资源
D.1 站点
D.2新闻组
D.3邮件列表