《Java参考大全 J2SE 5 Edition》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)Herbert Schildt著;鄢爱兰,鹿江春等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302120218
  • 页数:756 页
图书介绍:本书是世界级程序设计大师Hervert Schildt的作品,全面介绍了Java语言、Java标准库和Java开发环境。全书从Java语言的基础知识入手,内容涵盖了J2SE 5中的新增特性,如泛型、自动装箱、枚举、元数据、开发类库等。本书共分为4个部分,第1部分介绍Java语言,第2部分讨论标准Java库,第3部分探讨Java开发环境,第4部分是Java的开发实例,各部分前后衔接,联系紧密。本书是Java语言及其核心库的完全参考指南,无论是Java编程新手还是有丰富经验的专业人员,都可从本书受益。

16.26 Readable接口 33 1

1.1.1 现代编程语言的诞生:C 3

目录 3

第1部分 Java语言 3

第1章 Java的起源 3

1.1 Java的由来 3

1.1.2 C++:更上一层楼 4

1.2 Java的诞生 5

1.1.3 Java出现的时机已经到来 5

1.3 Java对Internet的重要性 6

1.4 Java的魔力:字节码 7

1.3.1 Java applet 7

1.3.2 安全性 7

1.3.3 可移植性 7

1.5 Java专门用语 8

1.5.5 体系结构中立 9

1.5.1 简单 9

1.5.2 面向对象 9

1.5.3 健壮 9

1.5.4 多线程 9

1.6 Java的演化 10

1.5.6 解释执行和高性能 10

1.5.7 分布式 10

1.5.8 动态 10

1.8 文化革新 11

1.7 J2SE 5的革命 11

2.1.2 抽象 12

第2章 Java语言概述 12

2.1 面向对象编程 12

2.1.1 两种范型 12

2.1.3 面向对象编程的3个原则 13

2.2.2 编译程序 17

2.2 第1个简单程序 17

2.2.1 键入程序 17

2.2.3 详细讨论第1个示例程序 18

2.3 第2个示例程序 19

2.4 两条控制语句 20

2.4.2 for循环 21

2.4.1 if语句 21

2.5 使用程序块 23

2.6.4 注释 24

2.6 基本词汇 24

2.6.1 空白分隔符 24

2.6.2 标识符 24

2.6.3 字面量 24

2.6.7 Java类库 25

2.6.5 分隔符 25

2.6.6 Java关键词 25

3.2 基本类型 26

第3章 数据类型、变量和数组 26

3.1 Java语言是一种强类型语言 26

3.3.2 短整型 27

3.3 整型 27

3.3.1 字节型 27

3.4 浮点型 28

3.3.3 int 28

3.3.4 长整型 28

3.5 字符 29

3.4.1 单精度浮点型 29

3.4.2 双精度浮点型 29

3.6 布尔型 30

3.7.2 浮点字面量 31

3.7 深入分析字面量 31

3.7.1 整数字面量 31

3.7.5 字符串字面量 32

3.7.3 布尔型字面量 32

3.7.4 字符字面量 32

3.8.3 变量的作用域和生命周期 33

3.8 变量 33

3.8.1 声明一个变量 33

3.8.2 动态初始化 33

3.9.1 Java的自动转换 35

3.9 类型转换与强制转换 35

3.9.2 强制转换不兼容的类型 36

3.10 表达式中的自动类型提升 37

3.11.1 一维数组 38

3.11 数组 38

3.11.2 多维数组 40

3.12 关于字符串的几点解释 43

3.11.3 另一种数组声明语法 43

3.13 C/C++程序员请注意指针的用法 44

4.1.1 基本算术运算符 45

第4章 运算符 45

4.1 算术运算符 45

4.1.2 模运算符 46

4.1.3 算术赋值运算符 47

4.1.4 递增和递减运算 48

4.2 位运算符 49

4.2.1 位逻辑运算符 50

4.2.2 左移 51

4.2.3 右移 52

4.2.4 无符号右移 53

4.2.5 位运算符赋值 54

4.3 关系运算符 55

4.4 布尔逻辑运算符 56

4.5 赋值运算符 57

4.7 运算符优先级 58

.4.6 ?运算符 58

4.8 使用圆括号 59

5.1.1 if语句 60

第5章 程序控制语句 60

5.1 Java的选择语句 60

5.1.2 switch 62

5.2.1 while 66

5.2 迭代语句 66

5.2.2 do-while 67

5.2.3 for 69

5.2.4 for循环的一些变化 71

5.3 for循环的ForEach版本 72

5.3.1 多维数组上的迭代 74

5.3.2 应用增强的for 75

5.4.1 使用break 76

5.3.3 循环嵌套 76

5.4 跳转语句 76

5.4.2 使用continue 79

5.4.3 return 80

6.1.1 类的一般形式 82

第6章 介绍类 82

6.1 类的基础 82

6.1.2 简单的类 83

6.2 声明对象 85

6.3 给对象引用变量赋值 86

6.4.1 给Box类添加一个方法 87

6.4 介绍方法 87

6.4.2 返回值 89

6.4.3 添加一个带有参数的方法 90

6.5 构造函数 92

6.6 this关键词 94

6.8 finalize()方法 95

6.7 垃圾收集 95

12.1.1 枚举的基础知识 96

6.9 堆栈类 96

第7章 方法和类详述 98

7.1 重载方法 98

7.2 把对象作为参数使用 102

7.3 参数传递 104

7.4 返回对象 105

7.5 递归 106

7.6 访问控制 108

7.7 关键词static 110

7.8 关键词final 111

7.9 数组 112

7.10 嵌套类和内部类 113

7.11 String类 115

7.12 使用命令行参数 117

7.12.1 Varargs:变长参数 118

7.12.2 重载Vararg方法 120

7.12.3 Varargs和模糊性 121

第8章 继承 123

8.1 继承的基础知识 123

8.1.1 成员访问和继承 124

8.1.2 一个更实用的示例 125

8.1.3 超类变量可以引用子类对象 127

8.2 super 127

8.2.1 使用super调用超类构造函数 128

8.2.2 Super的第二种用法 130

8.3 创建多级层次结构 131

8.4 何时调用构造函数 133

8.5 方法重写 134

8.6 动态方法调度 136

8.6.1 为什么重写方法 137

8.6.2 应用方法重写 138

8.7 抽象类 139

8.8 在继承中使用final 141

8.8.1 使用final来阻止重写 141

8.8.2 使用final阻止继承 142

8.9 Object类 142

第9章 包和接口 143

9.1 包 143

9.1.1 定义一个包 143

9.1.2 查找包和CLASSPATH 144

9.1.3 一个简短的包示例 144

9.2 访问保护 145

9.3 导入包 148

9.4 接口 149

9.4.1 接口定义 150

9.4.2 实现接口 150

9.4.3 应用接口 152

9.4.4 接口中的变量 155

9.4.5 可以扩展的接口 156

第10章 异常处理 158

10.1 异常处理基础知识 158

10.2 异常类型 159

10.3 未捕获的异常 159

10.4 trv和catch 160

10.5 多条catch语句 161

10.6 嵌套的try语句 162

10.7 throw 164

10.8 throws 165

10.9 finally 166

10.10 Java内置的异常 167

10.11 创建自己的异常子类 168

10.12 链式异常 170

10.13 使用异常 171

第11章 多线程编程 172

11.1 Java的线程模型 173

11.1.1 线程的优先级 173

11.1.2 同步 173

11.1.3 消息 174

11.1.4 Thread类和Runnable接口 174

11.2 主线程 174

11.3 创建一个线程 176

11.3.1 实现Runnable接口 176

11.3.2 扩展线程 177

11.3.3 选择一种方法 178

11.4 创建多线程 179

11.5 使用isAlive()和join() 180

11.6 线程的优先级 182

11.7 同步 184

11.7.1 使用同步方法 184

11.7.2 同步语句 186

11.8 线程间通信 187

11.9 暂停、恢复和停止线程 192

11.9.1 Java 1.1以及之前版本使用的暂停、恢复和停止线程的方法 192

11.9.2 暂停、恢复和停止线程的方法 194

11.10 使用多线程 195

第12章 枚举、自动装箱和元数据(注释) 196

12.1 枚举 196

12.1.2 values()和valueOf()方法 198

12.1.3 Java枚举是类类型 199

12.1.4 枚举继承Enum 200

12.1.5 一个枚举例子 202

12.2.2 Boolean包装器 203

12.2 类型包装器 203

12.2.1 Character包装器 203

12.2.3 数字类型包装器 204

12.3.1 自动装箱与方法 205

12.3 自动装箱 205

12.3.2 表达式中的自动装/拆箱 206

12.3.3 对布尔型和字符型值的自动装/拆箱 207

12.4 元数据(注释) 208

12.3.4 自动装/拆箱有助于防止发生错误 208

12.3.5 一点警告 208

12.4.2 指定一个保留策略 209

12.4.1 注释的基础知识 209

12.4.3 使用映射在运行时获得注释 210

12.4.4 AnnotatedElement接口 213

12.4.5 使用默认值 214

12.4.7 单成员注释 215

12.4.6 标记注释 215

12.4.8 内置注释 216

12.4.9 一些限制 217

13.1.2 字节流和字符流 218

第13章 输入/输出、Applet和其他主题 218

13.1 输入/输出基础 218

13.1.1 流 218

13.2 读取控制台输入 220

13.1.3 预定义流 220

13.2.1 读取字符 221

13.2.2 读取字符串 222

13.4 PrintWriter类 223

13.3 向控制台写输出 223

13.5 读写文件 224

13.6 applet基础 227

13.7 transient和volatile修饰符 228

13.8 使用instanceof 229

13.10 本地方法 231

13.9 strictfp 231

13.11 使用assert 234

13.12 静态输入 236

14.1 何为泛型 238

第14章 泛型 238

14.2 一个关于泛型的简单例子 239

14.2.2 泛型的差别是基于类型参数 241

14.2.1 泛型只使用对象 241

14.2.3 泛型如何增强类型安全 242

14.3 带两个类型参数的泛型类 243

14.4 泛型类的一般形式 244

14.5 有界类型 245

14.6 使用通配符参数 246

14.7 创建一个泛型方法 252

14.8 泛型接口 254

14.9 原始类型和遗留代码 256

14.10.1 使用泛型超类 258

14.10 泛型类层次 258

14.10.2 泛型子类 259

14.10.3 泛型层次中的运行时类型比较 260

14.10.4 强制转换 262

14.10.5 重写泛型类中的方法 263

14.11 擦拭 264

14.12 模糊错误 266

14.13.1 类型参数不能被实例化 267

14.13 泛型的一些局限 267

14.13.3 泛型数组的局限 268

14.13.2 静态成员方面的局限 268

14.14 有关泛型的最后思考 269

14.13.4 泛型异常局限 269

15.1 String构造函数 273

第2部分 Java库 273

第15章 字符串处理 273

15.3.1 字符串字面量 275

15.2 字符串的长度 275

15.3 特殊的字符串操作 275

15.3.3 字符串与其他数据类型的连接 276

15.3.2 字符串的连接 276

15.3.4 字符串转换和toString() 277

15.4.2 getChars() 278

15.4 字符截取 278

15.4.1 charAt() 278

15.5.1 equals()和equalsIgnoreCase() 279

15.4.3 getBytes() 279

15.4.4 toCharArray() 279

15.5 字符串比较 279

15.5.4 equals()与= 280

15.5.2 regionMatehes() 280

15.5.3 startsWith()和endsWith() 280

15.5.5 compareTo() 281

15.6 搜索字符串 282

15.7.1 substring() 283

15.7 修改字符串 283

15.7.3 replace() 284

15.7.2 concat() 284

15.8 使用valueOf()进行数据转换 285

15.7.4 trim() 285

15.10 附加的String方法 286

15.9 改变字符串中字符的大小写 286

15.11 StringBuffer 287

15.11.3 ensureCapacity() 288

15.11.1 StringBuffer构造函数 288

15.11.2 length()和capacity() 288

1 5.11.6 getChars() 289

15.11.4 setLength() 289

15.11.5 charAt()和setCharAt() 289

15.11.8 insert() 290

15.11.7 append() 290

15.11.10 delete()和deleteCharAt() 291

15.11.9 reverse() 291

15.11.13 附加的StringBuffer方法 292

15.11.11 replace() 292

15.11.12 substring() 292

15.12 StringBuilder 293

16.1 简单类型包装器 294

第16章 java.lang研究 294

16.1.2 Double和Float 295

16.1.1 Number 295

16.1.3 Byte,Short,Integer和Long 298

16.1.4 Character 303

16.1.5 对Character的补充:支持Unicode代码点 305

16.1.6 Boolean 306

16.3 Process 307

16.2 Void 307

16.4 Runtime 308

16.4.2 执行其他程序 309

16.4.1 内存管理 309

16.5 ProcessBuilder 310

16.6 System 311

16.6.1 使用eurrentTimeMillis()记录程序执行的时间 312

16.6.3 环境属性 313

16.6.2 使用arraycopy() 313

16.7 Object 314

16.8 使用clone()和Cloneable接口 315

16.9 Class 316

16.10 ClassLoader 318

16.11.1 先验函数 319

16.11 Math 319

16.11.4 其他的数学方法 320

16.11.2 指数函数 320

16.11.3 取整函数 320

16.14 Thread,ThreadGroup和Runnable 321

16.12 StrictMath 321

16.13 Compiler 321

16.14.2 Thread 322

16.14.1 Runnable接口 322

16.14.3 ThreadGroup 324

16.16 Package 327

16.15 ThreadLocal和InheritableThreadLocal 327

16.20 StackTraceElement 328

16.17 RuntimePermission 328

16.18 Throwable 328

16.19 SecurityManager 328

16.21 Enum类 329

16.24 Appendable接口 330

16.22 The CharSequence Interface 330

16.23 Comparable接口 330

16.27 java.1ang子包 331

16.25 Iterable接口 331

16.27.1 iava.1ang.annotation 331

16.27.5 java.1ang.reflect 332

16.27.4 jaVa.1ang.ref 332

16.27.2 iava.1ang.instrument 332

16.27.3 java.1ang.management 332

第17章 java.util第1部分:集合框架 333

17.2 J2SE 5对集合的修改 334

17.1 集合概述 334

17.3 Collection接口 335

17.2.3 for each类型的for循环 335

17.2.1 泛型根本性地改变了集合框架 335

17.2.2 自动装箱为简单类型的使用提供了便利 335

17.3.1 Collection接口 336

17.3.2 List接口 337

17.3.4 SortedSet接口 338

17.3.3 Set接口 338

17.3.5 Queue接口 339

17.4.1 ArrayList类 340

17.4 Collection(集合)类 340

17.4.2 LinkedList类 342

17.4.3 HashSet类 344

17.4.5 TreeSet类 345

17.4.4 LinkedHashSet类 345

17.4.7 EnumSet类 346

17.4.6 PriorityQueue类 346

17.5 使用迭代器访问集合 347

17.5.1 使用迭代器 348

17.5.2 替代迭代器的For-Each方案 349

17.6 在集合中存储用户定义的类 350

17.8.1 映射接口 351

17.8 使用映射 351

17.7 RandomAccess接口 351

17.8.2 映射类 353

17.9 比较函数 357

17.10 集合算法 360

17.11 数组 363

17.12 引进泛型集合的原因 366

17.13.1 Enumeration接口 368

17.13 遗留的类和接口 368

17.13.2 Vector 369

17.13.3 Stack 372

17.13.5 Hashtable(哈希表) 373

17.13.4 Dictionary 373

17.13.6 Properties 376

17.13.7使用store()和load() 378

17.14 集合小结 380

18.1 StringTokenizer(字符串符号赋予器类) 381

第18章 java.util第2部分:更多的工具类 381

18.2 BitSet 382

18.3 Date 384

18.4 Calendar 385

18.5 GregorianCalendar 388

18.6 TimeZone 389

18.7 SimpleTimeZone 390

18.9 Random 391

18.8 Locale 391

18.10 Observable 393

18.10.2 Observer范例 394

18.10.1 Observer接口 394

18.11 Timer和TimerTask 396

18.1 3 Formatter 398

18.12 Currency 398

18.13.2 Formatter方法 399

18.13.1 Formatter的构造函数 399

18.13.3 Formatter基础 400

18.13.4 格式化字符串与字符 401

18.13.6 格式化时间和日期 402

18.13.5 格式化数字 402

18.13.8 指定最小域宽 404

18.13.7 %n和%%格式指定符 404

18.13.9 指定精度 405

18.13.11 对齐输出 406

18.13.10 使用格式标志 406

18.13.13 逗号标志 407

18.13.12 空格、+、0和(标志 407

18.13.16 使用参数索引 408

18.13.15 大写选项 408

18.1 3.14 #标志 408

1 8.14 Scanner 409

18.13.17 链接Java printf() 409

18.14.2 Scanner基础 410

1 8.14.1 Scanner的构造函数 410

18.14.3 一些Scanner应用的例子 412

18.14.4 设置定界符 415

18.14.5 Scanner的其他特性 416

18.15.6 java.util.zip 417

18.15.5 java.util.regex 417

18.15 java.util子包 417

18.15.1 java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.locks 417

18.15.2 java.util.jar 417

18.15.3 java.util.logging 417

18.15.4 iava.util.prefs 417

19.1 Java的I/O类和接口 418

第19章 输入/输出:深入探讨java.io 418

19.2 File 419

19.2.1 目录 421

19.2.3 listFiles()替代方案 422

19.2.2 使用FilenameFilter 422

19.5 字节流 423

19.4 流类Stream 423

19.2.4 创建目录 423

19.3 Closeable和Flushable接口 423

19.5.3 FileInputStream 424

19.5.2 OutputStream 424

19.5.1 InputStream 424

19.5.4 FileOutputStream 426

19.5.5 ByteArrayInputStream 427

19.5.6 ByteArrayOutputStream 428

19.5.8 缓冲字节流 429

19.5.7 过滤字节流 429

19.5.9 SequenceInputStream 432

19.5.10 PrintStream 433

19.5.11 DataOutputStream和DataInputStream 434

19.6.1 Reader 436

19.6 字符流类 436

19.5.12 RandomAccessFile 436

19.6.3 FileReader 437

19.6.2 Writer 437

19.6.4 FileWriter 438

19.6.6 CharArrayWriter 439

19.6.5 CharArrayReader 439

19.6.7 BufieredReader 440

19.6.9 PushbackReader 441

19.6.8 BufferedWriter 441

19.6.10 PrintWriter 442

19.7 使用流I/O 443

19.8.2 Externalizable接口 446

19.8.1 Serializable接口 446

19.8 序列化 446

19.8.4 ObjectOutputStream类 447

19.8.3 ObjectOutput接口 447

19.8.6 ObjectInputStream 448

19.8.5 ObjectInput接口 448

19.8.7 序列化例子 449

19.9 流的优点 450

20.1.1 套接字概览 451

20.1 网络基础 451

第20章 网络 451

20.1.4 代理服务器 452

20.1.3 保留套接字 452

20.1.2 客户/服务器模式 452

20.2 Java和网络 453

20.1.5 Internet地址 453

20.3.1 工厂方法 454

20.3 InetAddress类 454

20.5 TCP/IP客户套接字 455

20.4 Inet4Address和Inet6Address 455

20.3.2 实例方法 455

20.6 URL 457

20.7 URLConnection类 458

20.9 缓存代理HTTP服务器 460

20.8 TCP/IP服务器套接字 460

20.10.2 数据报服务器和客户端 474

20.10.1 DatagramPacket 474

20.10 数据报 474

20.12 J2SE 5新增的类 476

20.11 URJ类 476

2 1.1 Applet基础 477

第21章 Applet类 477

21.3 Applet的框架 479

21.2 Applet的体系结构 479

21.3.1 Applet的初始化与终止 480

21.4 简单的applet显示方法 481

21.3.2 重写的update() 481

21.5 请求重画 483

21.6 使用状态窗口 485

21.7 HTML APPLET标记 486

21.8 把参数传递给applet 487

2 1.9 getDocumentBase()和getCodeBase() 489

2 1.10 AppletContext和showDocument() 490

21.13 向控制台输出 491

21.12 AppletStub接口 491

21.11 AudioClip接口 491

22.2.1 事件 492

22.2 委托事件模型 492

第22章 事件处理 492

22.1 两种事件处理机制 492

22.3 事件类(Event) 493

22.2.3 事件监听器 493

22.2.2 事件源 493

22.3.1 ActionEvent类 494

22.3.3 ComponentEvent类 495

22.3.2 AdjustmentEvent类 495

22.3.5 FocusEvent类 496

22.3.4 ContainerEvent类 496

22.3.7 ItemEvent类 497

22.3.6 InputEvent类 497

22.3.8 KeyEvent类 498

22.3.9 MouseEvent类 499

22.3.12 WindowEvent类 500

22.3.11 TextEvent类 500

22.3.10 MouseWheelEvent类 500

22.4 事件源 501

22.5.3 ComponentListener接口 502

22.5.2 AdjustmentListener接口 502

22.5 事件监听器接口 502

22.5.1 ActionListener接口 502

22.5.8 MouseListener接口 503

22.5.7 KeyListener接口 503

22.5.4 ContainerListener接口 503

22.5.5 FocusListener接口 503

22.5.6 ItemListener接口 503

22.6 使用委托事件模型 504

22.5.13 WindowListener接口 504

22.5.9 MouseMotionListener接口 504

22.5.10 MouseWhellListener接口 504

22.5.11 TextListener接口 504

22.5.12 WindowFocusListener接口 504

22.6.1 处理鼠标事件 505

22.6.2 处理键盘事件 507

22.7 适配器类 509

22.8 内部类 511

第23章 介绍AWT:使用窗口、图形、文本 513

23.1 AWT类 513

23.2.3 面板 515

23.2.2 容器 515

23.2 窗口基本元素 515

23.2.1 组件 515

23.3.1 设定窗口尺寸 516

23.3 使用框架窗口 516

23.2.4 窗口 516

23.2.5 框架 516

23.2.6 画布 516

23.4 在applet中创建框架窗口 517

23.3.4 关闭框架窗口 517

23.3.2 隐藏和显示窗口 517

23.3.3 设置窗口标题 517

23.5 创建窗口化程序 522

23.7.1 画直线 524

23.7 处理图形 524

23.6 在窗口中显示信息 524

23.7.2 画矩形 525

23.7.4 画圆弧 526

23.7.3 画椭圆和圆弧 526

23.7.5 画多边形 527

23.7.6 缩放图形 528

23.8.1 Color方法 529

23.8 处理颜色 529

23.8.3 一个演示颜色的applet 530

23.8.2 设置当前图形颜色 530

23.9 设定画图模式 531

23.10 处理字体 532

23.10.1 确定可用字体 533

23.10.2 创建和选择字体 534

23.10.3 获取字体信息 535

23.11 使用FontMetrics管理文本输出 536

23.11.1 显示多行文本 537

23.11.2 居中文本 538

23.11.3 多行文本对齐 539

24.1.1 添加和删除控件 543

24.1 控件基础知识 543

第24章 使用AWT控件、布局管理器和菜单 543

24.2 标签 544

24.1.2 对控件的响应 544

24.3 使用按钮 545

24.4 使用复选框 547

24.5 复选框组 549

24.5.2 处理选项列表 551

24.5.1 选项控件 551

24.6 使用列表框 553

24.7 管理滚动条 555

24.8 使用文本域TextField 557

24.9 使用TextArea 559

24.10 了解布局管理器 561

24.10.1 FlowLayout 562

24.10.2 BorderLayout 563

24.10.3 使用Insets 564

24.10.4 GridLayout 565

24.10.5 卡片布局CardLayout 566

24.10.6 GridBagLayout 569

24.11 菜单栏和菜单 572

24.12 对话框 577

24.13 FileDialog 580

24.14 通过扩展AWT组件处理事件 582

24.14.1 扩展按钮 583

24.14.3 扩展复选框组 584

24.14.2 扩展复选框 584

24.14.4 扩展选项 585

24.14.6 扩展滚动条 586

24.14.5 扩展列表框 586

24.15 对控件、菜单和布局管理器的研究 587

25.2 图像基础:创建、装载和显示 588

25.1 文件格式 588

第25章 图像 588

25.2.3 显示图像 589

25.2.2 装载图像 589

25.2.1 创建图像对象 589

25.3 ImageObserver 590

25.4 双缓冲技术 591

25.5 MediaTracker 594

25.6 ImageProducer 596

25.7 ImageConsumer 597

25.8 ImageFilter 599

25.8.1 CropImageFilter 600

25.8.2 RGBImageFilter 601

25.9 单元格动画 610

25.10 其他成像类 612

26.1 并发API包 613

第26章 并发实用工具 613

26.2 使用同步对象 614

26.1.3 java.util.concurrent.locks 614

26.1.1 java.util.concurrent 614

26.1.2 java.util.concurrent.atomic 614

26.2.1 Semaphore 615

26.2.2 CountDownLatch 619

26.2.3 CyclicBarrier 620

26.2.4 Exchanger 622

26.3.1 执行程序的简单例子 624

26.3 使用执行程序 624

26.3.2 使用Callable和Future 626

26.4 TimeUnit枚举 628

26.6 锁 629

26.5 并发集合 629

26.7 原子操作 631

26.8 并发实用工具和Java传统方法的对比 632

27.1 核心Java API包 633

第27章 NIO、规则表达式和其他包 633

27.2 新的I/O包 634

27.2.1 NIO基础知识 635

27.2.3 使用新的I/O系统 637

27.2.2 Charsets和Selectors 637

27.3.2 Matcher 642

27.3.1 Pattern 642

27.2.4 NIO是未来的I/O解决方案吗 642

27.3 规则表达式处理 642

27.3.3 规则表达式语法 643

27.3.4 演示模式匹配 644

27.4 反射 648

27.3.6 研究规则表达式 648

27.3.5 双模式匹配选项 648

27.5 远程方法调用 651

27.6.1 DateFormat类 654

27.6 文本格式化 654

27.6.2 SimpleDateFormat类 655

28.2 Java Bean的优点 659

28.1 什么是Java Bean 659

第3部分 Java软件开发技术 659

第28章 Java Bean 659

28.3.1 设计属性模式 660

28.3 反省 660

28.3.4 使用BeanInfo接口 661

28.3.3 方法和设计模式 661

28.3.2 设计事件模式 661

28.7 Java Bean API 662

28.6 自定义器 662

28.4 绑定和约束属性 662

28.5 持久性 662

28.8 开发一个简单的Bean 664

28.7.4 MethodDescriptor 664

28.7.1 Introspector 664

28.7.2 PropertyDescriptor 664

28.7.3 EventSetDescriptor 664

第29章 Swing导读 668

29.3 图标和标签 669

29.2 JFrame和JComponent 669

29.1 JApplet 669

29.4 处理线程问题 671

29.5 文本域 672

29.6 按钮 673

29.6.1 JButton类 674

29.6.2 复选框 675

29.6.3 单选按钮 677

29.7 组合框 678

29.8 选项卡窗格 680

29.9 滚动窗格 682

29.10 树 683

29.11 深入研究Swing 686

30.1 背景知识 687

第30章 Servlet 687

30.3 使用Tomcat开发Servlet 688

30.2 Servlet的生命周期 688

30.4.1 创建和编译Servlet源代码 689

30.4 简单的Servlet 689

30.5 Servlet API 690

30.4.3 启动Web浏览器并请求Servlet 690

30.4.2 启动Tomcat 690

30.6.1 Servlet接口 691

30.6 javax.servlet包 691

30.6.4 ServletRepuest接口 692

30.6.3 ServletContext接口 692

30.6.2 ServletConfig接口 692

30.6.7 ServletInputStream类 693

30.6.6 GenericServlet类 693

30.6.5 ServletResponse接口 693

30.7 读取Servlet参数 694

30.6.9 Servlet异常类 694

30.6.8 ServletOutputStream类 694

30.8.1 HttpServletRequest接口 695

30.8 javax.Servlet.http包 695

30.8.2 HttpServletResponse接口 696

30.8.5 Cookie类 697

30.8.4 HttpSessionBindingListener接口 697

30.8.3 HttpSession接口 697

30.8.6 HttpServlet类 698

30.8.8 HttpSessionBindingEvent类 699

30.8.7 HttpSessionEvent类 699

30.9.1 处理HTTP GET请求 700

30.9 处理HTTP请求和响应 700

30.9.2 处理HTTP POST请求 701

30.10 使用Cookie 702

30.11 会话追踪 703

31.1 计算贷款的偿还额 707

第31章 金融应用中的applet和servlet 707

第4部分 Java应用 707

31.1.2 init()方法 710

31.1.1 RegPay域 710

31.1.4 paint()方法 712

31.1.3 actionPerformed()方法 712

31.2 计算投资的长期回报 713

31.1.5 compute()方法 713

31.3 计算达到长期回报所需的初始投资 716

31.4 计算达到期望养老金所需的初始投资 719

3 1.5 计算给定投资的养老金最大值 722

31.6 计算贷款余额 724

31.7.1 将RegPay applet转换为servlet 727

31.7 创建用于金融计算的Servlet 727

31.7.2 RegPay servlet 728

31.8 一些尝试 730

32.1 理解Internet下载 731

第32章 使用Java创建下载管理器 731

32.3 Download类 732

32.2 下载管理器概述 732

32.3.3 download()方法 735

32.3.2 Download的构造函数 735

32.3.1 Download变量 735

32.3.4 run()方法 736

32.3.5 stateChanged()方法 738

32.4 ProgressRenderer类 739

32.3.6 操作和存取方法 739

32.5 DownloadsTableModel类 740

32.5.2 clearDownload()方法 741

32.5.1 addDownload()方法 741

32.5.5 update()方法 742

32.5.4 getValueAt()方法 742

32.5.3 getColumnClass()方法 742

32.6 DownloadManager类 743

32.6.3 verifyUrl()方法 747

32.6.2 DownloadManager构造函数 747

32.6.1 DownloadManager变量 747

32.6.5 updateButtons()方法 748

32.6.4 tableSelectionChanged()方法 748

32.7 编译并运行下载管理器 749

32.6.6 操作事件的处理 749

32.8 改进下载管理器 750

附录A Java的文档注释 751