标题：Java JDK6学习笔记
内容简介
《JavaJDK6学习笔记》中介绍了JavaJDK6中新增的功能。JavaJDK6加强了java.lang、java.util、java.io、java.awt等套件的功能，并增加了JDBC4.0新功能。另外，在JDK6中还包括了ApacheDerby纯Java数据为。
本书门槛很低，只要您了解Windows基本操作，无须有其他程序语言的基础，甚至没有接触过Java，都可以通过本书扎扎实实地学习Java。而对于一些曾经学习过Java，但概念和基础仍不扎实的读者，本书也准备了一些面向对象的观点与进阶的议题可供参考。
作者简介
林信良（网史：良葛格），学历：台湾大学电机工程学系，经历：SUN教育培训技术顾问与专业讲师，SUN官方教材主要编写成员之一，著作：《JavaJDK5.0学习笔记》、《JavaSE6技术手册》、《Spring技术手册》译作：《Ajax实战手册》。
编辑推荐
《JavaJDK6学习笔记》是目前市场上第一本面向JDK6的Java优秀著作。
本书特色：
分享作者林信良Java学习心得
新增JDBC介绍
JavaJDK6新功能介绍
适用于各领域的输入/输出、线程、反射等主题
目录
第1章 了解Java 1
1.1　什么是Java 2
1.2　Java的特性 4
1.2.1　语言特性 4
1.2.2　应用平台 7
1.2.3　活跃的论坛与丰富
的资源 9
1.3　如何学习Java 10
1.4　接下来的主题 11
1.5　网络资源 11
第2章 入门准备 13
2.1　下载、安装和了解JDK 14
2.1.1　下载JDK 14
2.1.2　安装JDK 16
2.1.3　了解JDK 17
2.2　设置Path与Classpath 19
2.2.1　设置Path 19
2.2.2　设置Classpath 22
2.3　第一个Java程序 23
2.3.1　编写和编译Java程序 23
2.3.2　执行Java程序 25
2.4　选择开发工具 26
2.5　接下来的主题 28
2.6　网络资源 29
第3章 语法入门 31
3.1　第一个Java程序 32
3.1.1　解释第一个Java程序 32
3.1.2　给C用户的第一个
Java 程序 34
3.1.3　为程序加入注释 36
3.2　在命令行模式下与程序互动 37
3.2.1　使用Scanner取得输入 37
3.2.2　使用BufferedReader取得输入 39
3.2.3　标准输入/输出串 41
3.2.4　输出格式控制 42
3.3　数据和运算 45
3.3.1　数据类型 45
3.3.2　变量和常量 47
3.3.3　算术运算 50
3.3.4　比较和条件运算 52
3.3.5　逻辑和位运算 54
3.3.6　递增和递减运算 59
3.4　流程控制 62
3.4.1　if条件式 62
3.4.2　switch条件式 66
3.4.3　for循环 68
3.4.4　while循环 70
3.4.5　break和continue 73
3.5　接下来的主题 75
3.6　网络资源 75
第4章 从autoboxing和unboxing认识对象 77
4.1　关于对象 78
4.1.1　使用对象 78
4.1.2　打包(Wrap)基本数据类型 81
4.2　自动装箱和拆箱 83
4.2.1　autoboxing和unboxing 83
4.2.2　小心使用boxing 85
4.3　接下来的主题 87
4.4　网络资源 87
第5章 数组 89
5.1　一维数组和二维数组 90
5.1.1　一维数组对象 90
5.1.2　二维数组对象 94
5.2　高级数组概念 98
5.2.1　高级的数组操作 98
5.2.2　Arrays类 101
5.2.3　foreach与数组 106
5.2.4　数组对象 107
5.3　接下来的主题 108
5.4　网络资源 108
第6章 字符串 111
6.1　认识字符串 112
6.1.1　String类 112
6.1.2　不可变(Immutable)字符串 116
6.1.3　StringBuilder类 120
6.2　字符串高级运用 122
6.2.1　命令行变量 122
6.2.2　分离字符串 124
6.2.3　使用正则表示式
(Regular Expression) 125
6.2.4　Pattern和Matcher 129
6.3　接下来的主题 131
6.4　网络资源 131
第7章 封装 133
7.1　定义类 134
7.1.1　以对象思考问题 134
7.1.2　使用class定义类 136
7.1.3　类成员(Class Member) 140
7.1.4　构造函数(Constructor) 143
7.1.5　关于this 145
7.1.6　关于static 147
7.2　关于方法 150
7.2.1　重载(Overload)方法 151
7.2.2　不定长度参数 153
7.2.3　递归方法 154
7.2.4　垃圾收集 156
7.3　接下来的主题 158
7.4　网络资源 159
第8章 继承和多态 161
8.1　继承 162
8.1.1　扩展(Extends)父类 162
8.1.2　受保护的(Protected)成员 165
8.1.3　重写(Override)方法 167
8.1.4　Object类 170
8.1.5　toString()、equals()和
hashCode()方法 173
8.1.6　clone()方法 175
8.1.7　final关键词 178
8.2　多态 178
8.2.1　多态导论 179
8.2.2　抽象类(Abstract Class) 180
8.2.3　抽象类应用 183
8.2.4　接口(Interface) 186
8.3　接下来的主题 189
8.4　网络资源 190
第9章 管理类文件 191
9.1　内嵌类 192
9.1.1　成员内嵌类和区域内嵌类 192
9.1.2　匿名内嵌类 194
9.2　package与import 196
9.2.1　设定包(Package) 196
9.2.2　import的意义 199
9.2.3　public与包 201
9.2.4　import静态成员 204
9.3　接下来的主题 207
9.4　网络资源 207
第10章 异常处理 209
10.1 异常处理入门 210
10.2 可控式异常(Checked
Exception)和执行时异常(Runtime Exception) 212
10.3 throw和throws 213
10.4 异常的继承架构 217
10.5 断言(Assertion) 220
10.6 接下来的主题 222
10.7 网络资源 223
第11章 枚举类型 225
11.1 常数设置与枚举类型 226
11.1.1　常数设置 226
11.1.2　枚举类型入门 227
11.2 定义枚举类型 230
11.2.1　深入枚举类型 231
11.2.2　枚举上的方法 233
11.2.3　因值而异的类实现(Value- Specific Class Bodies) 235
11.3 接下来的主题 237
11.4 网络资源 238
第12章 泛型 239
12.1 泛型入门 240
12.1.1　没有泛型之前 240
12.1.2　定义泛型类 242
12.1.3　几个定义泛型的例子 244
12.2 泛型高级语法 246
12.2.1　限制泛型可用类型 247
12.2.2　类型通配字符(Wildcard) 249
12.2.3　扩充泛型类和实现
泛型接口 251
12.3 接下来的主题 253
12.4 网络资源 253
第13章 对象容器 255
13.1 Collection类 256
13.1.1　简介List接口 256
13.1.2　ArrayList 258
13.1.3　LinkedList 261
13.1.4　HashSet 266
13.1.5　TreeSet 268
13.1.6　EnumSet 271
13.2 Map类 273
13.2.1　HashMap 273
13.2.2　TreeMap 276
13.3 接下来的主题 279
13.4 网络资源 279
第14章 输入/输出 281
14.1 文件 282
14.1.1　File类 282
14.1.2　RandomAccessFile类 284
14.2 位流 288
14.2.1　InputStream和
OutputStream 288
14.2.2　FileInputStream和
FileOutputStream 290
14.2.3　BufferedInputStream和
BufferedOutputStream 293
14.2.4　DataInputStream和
DataOutputStream 295
14.2.5　ObjectInputStream和
ObjectOutputStream 298
14.2.6　SequenceInputStream 304
14.2.7　PrintStream 307
14.2.8　ByteArrayInputStream和
ByteArrayOutputStream 309
14.2.9　PushbackInputStream 311
14.3 字符流 313
14.3.1　Reader和Writer 314
14.3.2　InputStreamReader和OutputStreamWriter 315
14.3.3　FileReader和FileWriter 317
14.3.4　BufferedReader和BufferedWriter 318
14.3.5　PrintWriter 320
14.3.6　CharArrayReader和CharArrayWriter 322
14.3.7　PushbackReader 324
14.4 接下来的主题 326
14.5 网络资源 327
第15章 线程(Thread) 329
15.1 线程入门 330
15.1.1　继承Thread 330
15.1.2　实现 Runnable界面 332
15.1.3　Daemon 线程 335
15.1.4　线程生命周期 336
15.1.5　线程的加入(Join) 339
15.1.6　线程的停止 341
15.1.7　ThreadGroup 343
15.1.8　UncaughtExceptionHandler 345
15.2 同步(Synchronized) 346
15.2.1　同步化 347
15.2.2　wait()和notify() 352
15.2.3　容器类的线程安全(Thread-safe) 358
15.2.4　ThreadLocal类 359
15.3 concurrent套件新增类 363
15.3.1　 BlockingQueue 363
15.3.2　 Callable与Future 366
15.3.3　 Executors 369
15.4 接下来的主题 371
15.5 网络资源 372
第16章 反射 375
16.1 类加载与查看 376
16.1.1　简介Class与类加载 376
16.1.2　使用Class.forName()
加载类 379
16.1.3　从Class中获取信息 382
16.1.4　简介类加载器 385
16.1.5　使用自己的ClassLoader 390
16.2 使用反射生成与操作对象 394
16.2.1　生成对象 394
16.2.2　调用方法 397
16.2.3　修改成员值 402
16.2.4　再看数组对象 404
16.2.5　Proxy类 407
16.3 接下来的主题 410
16.4 网络资源 410
第17章 Annotation 411
17.1 Annotation概述 412
17.1.1　限定Override父类方法 @Override 412
17.1.2　标示方法为Deprecated @Deprecated 413
17.1.3　抑制编译器警告 @SuppressWarnings 415
17.1.4　自定义Annotation类型 416
17.2 meta-annotation 419
17.2.1　告知编译器如何处理annotation @Retention 419
17.2.2　限定annotation 使用
对象@Target 422
17.2.3　要求为API文件的
一部分@Documented 423
17.2.4　子类是否继承父类的annotation @Inherited 425
17.3 接下来的主题 426
17.4 网络资源 426
第18章 拾遗补缺 427
18.1 日期和时间 428
18.1.1　使用 Date 428
18.1.2　使用 Calendar 432
18.2 日志(Logging) 436
18.2.1　简介Logging 436
18.2.2　Logging 的等级 438
18.2.3　Handler和Formatter 441
18.2.4　自定义 Formatter 443
18.2.5　Logger层次关系 445
18.3 信息绑定 446
18.3.1　使用ResourceBundle 446
18.3.2　格式化信息 448
18.3.3　国际化信息 450
18.4 接下来的主题 452
第19章 专题制作—— 文字编辑器 453
19.1　产品生命周期 454
19.1.1　分析(Analysis) 454
19.1.2　设计(Design) 457
19.1.3　开发(Development) 457
19.1.4　测试(Testing) 457
19.1.5　完成(Implementation) 457
19.1.6　维护(Maintenance) 458
19.1.7　结束生命周期
(End-of-Life，EOL) 458
19.2　Swing入门 458
19.2.1　Swing简介 458
19.2.2　设计主窗口与菜单栏 460
19.2.3　版面管理 465
19.3　事件处理 469
19.3.1　Java事件模型 470
19.3.2　文字编辑器的事件处理 470
19.4　文字编辑与保存 477
19.4.1　打开文件的流程处理 477
19.4.2　保存文件的流程处理 480
19.4.3　关闭文件的流程处理 481
19.4.4　文字区的编辑、剪切、
复制和粘贴 482
19.5 Executable Jar的制作 483
19.6　接下来的主题 486
19.7　网络资源 486
第20章 JDBC入门 489
20.1 使用JDBC连接数据库 490
20.1.1　简介JDBC 490
20.1.2　连接数据库 492
20.1.3　简单的Connection
工具类 494
20.1.4　简单的连接池
(Connection pool) 498
20.2 使用JDBC进行数据操作 501
20.2.1 Statement、ResultSet 501
20.2.2 PreparedStatement 504
20.2.3 LOB读写 507
20.2.4　事务(Transaction) 510
20.2.5　批处理 512
20.2.6 ResultSet光标控制 513
20.2.7　ResultSet新增、更新、
删除数据 515
20.2.8 ResultSetMetaData 517
20.3 接下来的主题 518
20.4 网络资源 519
第21章 Java SE 6新功能简介 521
21.1 Java SE 6基本新功能 522
21.1.1　 java.lang包 522
21.1.2　 java.util包 522
21.1.3　 java.io包 526
21.1.4　 java.awt包 528
21.1.5　 Classpath简化设置 531
21.2 Apache Derby、JDBC 4.0 532
21.2.1　使用Apache Derby 532
21.2.2　加载驱动程序 535
21.2.3　改进的异常处理 536
21.2.4 BLOB、CLOB的改进 537
21.3 接下来的主题 537
附录A　Ant简介 539
A.1　Ant设置 540
A.2　第一个Ant构建 541
A.3　任务(Target) 544
A.4　属性(Property) 546
A.5　路径(Path) 547
A.6　常用任务(Task) 548
A.7　一个简单的buildfile 551
附录B　JUnit简介 553
B.1　单元测试(Unit Test) 554
B.2　JUnit设置 556
B.3　第一个JUnit测试 556
B.4　自动构建与测试 559
B.5　自动生成测试报告 560
附录C　 MySQL简介 565
C.1 MySQL安装与设置 566
C.2 MySQL的数据类型 567
C.3　建立数据库、数据表 570
C.4 CRUD操作 571