网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Java11官方参考手册(第11版)
分类
作者 (美)赫伯特·希尔特
出版社 清华大学出版社
下载
简介
目录
第Ⅰ部分 Java语言
章 Java的历史和演变 3
1.1 Java的家世 3
1.1.1 现代编程语言的诞生:C语言 3
1.1.2 C++:下一个阶段 4
1.1.3 Java出现的时机已经成熟 5
1.2 Java的诞生 5
1.3 Java改变Internet的方式 6
1.3.1 Java applet 6
1.3.2 安全性 7
1.3.3 可移植性 7
1.4 Java的魔力:字节码 7
1.5 超越applet 8
1.6 更快的发布周期 8
1.7 servlet:服务器端的Java 9
1.8 Java的关键特性 9
1.8.1 简单性 9
1.8.2 面向对象 10
1.8.3 健壮性 10
1.8.4 多线程 10
1.8.5 体系结构中立 10
1.8.6 解释执行和高性能 10
1.8.7 分布式 11
1.8.8 动态性 11
1.9 Java的演变历程 11
1.10 文化革新 14
第2章 Java综述 15
2.1 面向对象编程 15
2.1.1 两种范式 15
2.1.2 抽象 15
2.1.3 OOP三原则 16
2.2 个简单程序 19
2.2.1 输入程序 19
2.2.2 编译程序 20
2.2.3 深入分析个示例程序 20
2.3 第二个简短程序 22
2.4 两种控制语句 23
2.4.1 if语句 23
2.4.2 for循环 24
2.5 使用代码块 25
2.6 词汇问题 27
2.6.1 空白符 27
2.6.2 标识符 27
2.6.3 字面值 27
2.6.4 注释 27
2.6.5 分隔符 27
2.6.6 Java关键字 28
2.7 Java类库 29
第3章 数据类型、变量和数组 30
3.1 Java是强类型化的语言 30
3.2 基本类型 30
3.3 整型 31
3.3.1 byte 31
3.3.2 short 31
3.3.3 int 31
3.3.4 long 32
3.4 浮点型 32
3.4.1 float 32
3.4.2 double 33
3.5 字符型 33
3.6 布尔型 34
3.7 深入分析字面值 35
3.7.1 整型字面值 35
3.7.2 浮点型字面值 36
3.7.3 布尔型字面值 36
3.7.4 字符型字面值 36
3.7.5 字符串字面值 37
3.8 变量 37
3.8.1 变量的声明 37
3.8.2 动态初始化 38
3.8.3 变量的作用域和生存期 38
3.9 类型转换和强制类型转换 40
3.9.1 Java的自动类型转换 40
3.9.2 强制转换不兼容的类型 41
3.10 表达式中的自动类型提升 42
3.11 数组 43
3.11.1 一维数组 43
3.11.2 多维数组 45
3.11.3 另一种数组声明语法 48
3.12 局部变量的类型推断 49
3.13 关于字符串的一些说明 51
第4章 运算符 52
4.1 算术运算符 52
4.1.1 基本算术运算符 52
4.1.2 求模运算符 53
4.1.3 算术与赋值复合运算符 54
4.1.4 自增与自减运算符 55
4.2 位运算符 56
4.2.1 位逻辑运算符 57
4.2.2 左移 59
4.2.3 右移 60
4.2.4 无符号右移 61
4.2.5 位运算符与赋值的组合 62
4.3 关系运算符 63
4.4 布尔逻辑运算符 64
4.5 赋值运算符 65
4.6 “?”运算符 66
4.7 运算符的优先级 66
4.8 使用圆括号 67
第5章 控制语句 68
5.1 Java的选择语句 68
5.1.1 if语句 68
5.1.2 switch语句 70
5.2 迭代语句 74
5.2.1 while语句 75
5.2.2 do-while语句 76
5.2.3 for语句 78
5.2.4 for循环的for-each版本 81
5.2.5 for循环中的局部变量类型推断 85
5.2.6 嵌套的循环 86
5.3 跳转语句 86
5.3.1 使用break语句 87
5.3.2 使用continue语句 90
5.3.3 return语句 91
第6章 类 92
6.1 类的基础知识 92
6.1.1 类的一般形式 92
6.1.2 一个简单的类 93
6.2 声明对象 95
6.3 为对象引用变量赋值 96
6.4 方法 97
6.4.1 为Box类添加方法 97
6.4.2 返回值 99
6.4.3 添加带参数的方法 100
6.5 构造函数 102
6.6 this关键字 104
6.7 垃圾回收 105
6.8 堆栈类 105
第7章 方法和类的深入分析 108
7.1 重载方法 108
7.2 将对象用作参数 112
7.3 实参传递的深入分析 114
7.4 返回对象 116
7.5 递归 116
7.6 访问控制 118
7.7 理解static 121
7.8 final介绍 123
7.9 重新审视数组 123
7.10 嵌套类和内部类 125
7.11 String类 127
7.12 使用命令行参数 129
7.13 varargs:可变长度实参 129
7.13.1 重载varargs方法 132
7.13.2 varargs方法与模糊性 133
第8章 继承 136
8.1 继承的基础知识 136
8.1.1 成员访问与继承 137
8.1.2 一个更实际的例子 138
8.1.3 超类变量可以引用子类对象 140
8.2 使用super关键字 141
8.2.1 使用super调用超类的构造函数 141
8.2.2 super的另一种用法 144
8.3 创建多级继承层次 145
8.4 构造函数的执行时机 148
8.5 方法重写 149
8.6 动态方法调度 151
8.6.1 重写方法的目的 152
8.6.2 应用方法重写 152
8.7 使用抽象类 154
8.8 在继承中使用final关键字 156
8.8.1 使用final关键字阻止重写 156
8.8.2 使用final关键字阻止继承 156
8.9 局部变量类型推断和继承 157
8.10 Object类 158
第9章 包和接口 160
9.1 包 160
9.1.1 定义包 160
9.1.2 包查找与CLASSPATH 161
9.1.3 一个简短的包示例 161
9.2 包和成员访问 162
9.3 导入包 166
9.4 接口 167
9.4.1 定义接口 168
9.4.2 实现接口 168
9.4.3 嵌套接口 170
9.4.4 应用接口 171
9.4.5 接口中的变量 174
9.4.6 接口可以扩展 176
9.5 默认接口方法 176
9.5.1 默认方法基础知识 177
9.5.2 一个更实用的例子 178
9.5.3 多级继承的问题 179
9.6 在接口中使用静态方法 179
9.7 私有接口方法 180
9.8 关于包和接口的最后说明 181
0章 异常处理 182
10.1 异常处理的基础知识 182
10.2 异常类型 183
10.3 未捕获的异常 183
10.4 使用try和catch 184
10.5 多条catch子句 186
10.6 嵌套的try语句 187
10.7 throw 189
10.8 throws 190
10.9 finally 191
10.10 Java的内置异常 192
10.11 创建自己的异常子类 193
10.12 链式异常 195
10.13 其他三个异常特性 196
10.14 使用异常 197
1章 多线程编程 198
11.1 Java线程模型 198
11.1.1 线程优先级 199
11.1.2 同步 200
11.1.3 消息传递 200
11.1.4 Thread类和Runnable接口 200
11.2 主线程 201
11.3 创建线程 202
11.3.1 实现Runnable接口 202
11.3.2 扩展Thread类 204
11.3.3 选择一种创建方式 205
11.4 创建多个线程 205
11.5 使用isAlive()和join()方法 206
11.6 线程优先级 209
11.7 同步 209
11.7.1 使用同步方法 209
11.7.2 synchronized语句 211
11.8 线程间通信 213
11.9 挂起、恢复与停止线程 218
11.10 获取线程的状态 221
11.11 使用工厂方法创建和启动线程 222
11.12 使用多线程 222
2章 枚举、自动装箱与注解 223
12.1 枚举 223
12.1.1 枚举的基础知识 223
12.1.2 values()和valueOf()方法 225
12.1.3 Java枚举是类类型 226
12.1.4 枚举继承自Enum类 228
12.1.5 另一个枚举示例 229
12.2 类型封装器 231
12.2.1 Character封装器 231
12.2.2 Boolean封装器 231
12.2.3 数值类型封装器 232
12.3 自动装箱 233
12.3.1 自动装箱与方法 233
12.3.2 表达式中发生的自动装箱/拆箱 234
12.3.3 布尔型和字符型数值的自动装箱/拆箱 236
12.3.4 自动装箱/拆箱有助于防止错误 236
12.3.5 一些警告 237
12.4 注解 237
12.4.1 注解的基础知识 237
12.4.2 指定保留策略 238
12.4.3 在运行时使用反射获取注解 238
12.4.4 AnnotatedElement接口 243
12.4.5 使用默认值 243
12.4.6 标记注解 244
12.4.7 单成员注解 245
12.4.8 内置注解 246
12.5 类型注解 248
12.6 重复注解 252
12.7 一些限制 253
3章 I/O、带资源的try语句以及其他主题 254
13.1 I/O的基础知识 254
13.1.1 流 254
13.1.2 字节流和字符流 255
13.1.3 预定义流 256
13.2 读取控制台输入 257
13.2.1 读取字符 257
13.2.2 读取字符串 258
13.3 向控制台写输出 259
13.4 PrintWriter类 260
13.5 读/写文件 260
13.6 自动关闭文件 266
13.7 transient和volatile修饰符 268
13.8 使用instanceof运算符 269
13.9 strictfp 271
13.10 本地方法 271
13.11 使用assert 271
13.12 静态导入 274
13.13 通过this()调用重载的构造函数 276
13.14 紧凑API配置文件 277
4章 泛型 278
14.1 什么是泛型 278
14.2 一个简单的泛型示例 279
14.2.1 泛型只使用引用类型 282
14.2.2 基于不同类型参数的泛型类型是不同的 282
14.2.3 泛型提升类型安全性的原理 282
14.3 带两个类型参数的泛型类 284
14.4 泛型类的一般形式 285
14.5 有界类型 285
14.6 使用通配符参数 288
14.7 创建泛型方法 294
14.8 泛型接口 296
14.9 原始类型与遗留代码 298
14.10 泛型类层次 300
14.10.1 使用泛型超类 300
14.10.2 泛型子类 302
14.10.3 泛型层次中的运行时类型比较 303
14.10.4 强制转换 305
14.10.5 重写泛型类的方法 306
14.11 泛型的类型推断 307
14.12 局部变量类型推断和泛型 308
14.13 擦除 308
14.14 模糊性错误 310
14.15 使用泛型的一些限制 311
14.15.1 不能实例化类型参数 311
14.15.2 对静态成员的一些限制 311
14.15.3 对泛型数组的一些限制 311
14.15.4 对泛型异常的限制 312
5章 lambda表达式 313
15.1 lambda表达式简介 313
15.1.1 lambda表达式的基础知识 314
15.1.2 函数式接口 314
15.1.3 几个lambda表达式示例 315
15.2 块lambda表达式 318
15.3 泛型函数式接口 319
15.4 作为参数传递lambda表达式 321
15.5 lambda表达式与异常 323
15.6 lambda表达式和变量捕获 324
15.7 方法引用 325
15.7.1 静态方法的方法引用 325
15.7.2 实例方法的方法引用 326
15.7.3 泛型中的方法引用 329
15.8 构造函数引用 332
15.9 预定义的函数式接口 336
6章 模块 337
16.1 模块基础知识 337
16.1.1 简单的模块示例 338
16.1.2 编译并运行个模块示例 341
16.1.3 requires和exports 342
16.2 java.base和平台模块 342
16.3 旧代码和未命名的模块 343
16.4 导出到特定的模块 343
16.5 使用requires transitive 344
16.6 使用服务 348
16.6.1 服务和服务提供程序的基础知识 348
16.6.2 基于服务的关键字 348
16.6.3 基于模块的服务示例 349
16.7 模块图 354
16.8 三个特殊的模块特性 355
16.8.1 open模块 355
16.8.2 opens语句 355
16.8.3 requires static 355
16.9 jlink工具和模块JAR文件介绍 356
16.9.1 链接exploded directory中的文件 356
16.9.2 链接模块化的JAR文件 356
16.9.3 JMOD文件 357
16.10 层与自动模块简述 357
16.11 小结 357
第Ⅱ部分 Java库
7章 字符串处理 361
17.1 String类的构造函数 361
17.2 字符串的长度 363
17.3 特殊的字符串操作 363
17.3.1 字符串字面值 363
17.3.2 字符串连接 364
17.3.3 字符串和其他数据类型的连接 364
17.3.4 字符串转换和toString()方法 365
17.4 提取字符 366
17.4.1 charAt() 366
17.4.2 getChars() 366
17.4.3 getBytes() 367
17.4.4 toCharArray() 367
17.5 比较字符串 367
17.5.1 equals()和equalsIgnoreCase() 367
17.5.2 regionMatches() 368
17.5.3 startsWith()和endsWith() 368
17.5.4 equals()与== 369
17.5.5 compareTo() 369
17.6 查找字符串 370
17.7 修改字符串 372
17.7.1 substring() 372
17.7.2 concat() 373
17.7.3 replace() 373
17.7.4 trim()和strip() 373
17.8 使用valueOf()转换数据 374
17.9 改变字符串中字符的大小写 375
17.10 连接字符串 375
17.11 其他String方法 376
17.12 StringBuffer类 377
17.12.1 StringBuffer类的构造函数 377
17.12.2 length()与capacity() 377
17.12.3 ensureCapacity() 378
17.12.4 setLength() 378
17.12.5 charAt()与setCharAt() 378
17.12.6 getChars() 379
17.12.7 append() 379
17.12.8 insert() 380
17.12.9 reverse() 380
17.12.10 delete()与deleteCharAt() 380
17.12.11 replace() 381
17.12.12 substring() 381
17.12.13 其他StringBuffer方法 382
17.13 StringBuilder类 382
8章 探究java.lang 383
18.1 基本类型封装器 384
18.1.1 Number 384
18.1.2 Double与Float 384
18.1.3 理解isInfinite()与isNaN() 387
18.1.4 Byte、Short、Integer和Long 387
18.1.5 Character 395
18.1.6 对Unicode代码点的附加支持 397
18.1.7 Boolean 398
18.2 Void类 399
18.3 Process类 399
18.4 Runtime类 400
18.4.1 内存管理 401
18.4.2 执行其他程序 402
18.5 Runtime.Version 403
18.6 ProcessBuilder类 404
18.7 System类 406
18.7.1 使用currentTimeMillis()计时程序的执行 407
18.7.2 使用arraycopy()方法 408
18.7.3 环境属性 408
18.8 System.Logger和System.LoggerFinder 409
18.9 Object类 409
18.10 使用clone()方法和Cloneable接口 410
18.11 Class类 411
18.12 ClassLoader类 414
18.13 Math类 414
18.13.1 三角函数 414
18.13.2 指数函数 415
18.13.3 舍入函数 415
18.13.4 其他数学方法 417
18.14 StrictMath类 418
18.15 Compiler类 418
18.16 Thread类、ThreadGroup类和Runnable接口 418
18.16.1 Runnable接口 419
18.16.2 Thread类 419
18.16.3 ThreadGroup类 421
18.17 ThreadLocal和InheritableThreadLocal类 424
18.18 Package类 424
18.19 Module类 426
18.20 ModuleLayer类 426
18.21 RuntimePermission类 426
18.22 Throwable类 426
18.23 SecurityManager类 426
18.24 StackTraceElement类 427
18.25 StackWalker类和StackWalker.StackFrame接口 427
18.26 Enum类 427
18.27 ClassValue类 428
18.28 CharSequence接口 428
18.29 Comparable接口 429
18.30 Appendable接口 429
18.31 Iterable接口 429
18.32 Readable接口 430
18.33 AutoCloseable接口 430
18.34 Thread.UncaughtExceptionHandler接口 430
18.35 java.lang子包 430
18.35.1 java.lang.annotation 431
18.35.2 java.lang.instrument 431
18.35.3 java.lang.invoke 431
18.35.4 java.lang.management 431
18.35.5 java.lang.module 431
18.35.6 java.lang.ref 431
18.35.7 java.lang.reflect 431
9章 java.util部分:集合框架 432
19.1 集合概述 433
19.2 集合接口 434
19.2.1 Collection接口 434
19.2.2 List接口 436
19.2.3 Set接口 437
19.2.4 SortedSet接口 438
19.2.5 NavigableSet接口 439
19.2.6 Queue接口 439
19.2.7 Deque接口 440
19.3 集合类 441
19.3.1 ArrayList类 442
19.3.2 LinkedList类 445
19.3.3 HashSet类 446
19.3.4 LinkedHashSet类 447
19.3.5 TreeSet类 447
19.3.6 PriorityQueue类 448
19.3.7 ArrayDeque类 449
19.3.8 EnumSet类 450
19.4 通过迭代器访问集合 451
19.4.1 使用迭代器 452
19.4.2 使用for-each循环替代迭代器 453
19.5 Spliterator 454
19.6 在集合中存储用户定义的类 456
19.7 RandomAccess接口 457
19.8 使用映射 458
19.8.1 映射接口 458
19.8.2 映射类 462
19.9 比较器 467
19.10 集合算法 474
19.11 Arrays类 479
19.12 遗留的类和接口 483
19.12.1 Enumeration接口 484
19.12.2 Vector类 484
19.12.3 Stack类 487
19.12.4 Dictionary类 489
19.12.5 Hashtable类 489
19.12.6 Properties类 492
19.12.7 使用store()和load()方法 495
19.13 集合小结 497
第20章 java.util第2部分:更多实用工具类 498
20.1 StringTokenizer类 498
20.2 BitSet类 499
20.3 Optional、OptionalDouble、OptionalInt和OptionalLong 502
20.4 Date类 504
20.5 Calendar类 505
20.6 GregorianCalendar类 508
20.7 TimeZone类 509
20.8 SimpleTimeZone类 510
20.9 Locale类 511
20.10 Random类 512
20.11 Timer和TimerTask类 514
20.12 Currency类 516
20.13 Formatter类 516
20.13.1 Formatter类的构造函数 517
20.13.2 Formatter类的方法 517
20.13.3 格式化的基础知识 518
20.13.4 格式化字符串和字符 519
20.13.5 格式化数字 519
20.13.6 格式化时间和日期 520
20.13.7 %n和%%说明符 522
20.13.8 指定最小字段宽度 523
20.13.9 指定精度 524
20.13.10 使用格式标志 525
20.13.11 对齐输出 525
20.13.12 空格、+、0以及(标志 526
20.13.13 逗号标志 527
20.13.14 #标志 527
20.13.15 大写选项 527
20.13.16 使用参数索引 527
20.13.17 关闭Formatter对象 528
20.13.18 printf()方法 529
20.14 Scanner类 529
20.14.1 Scanner类的构造函数 529
20.14.2 扫描的基础知识 530
20.14.3 一些Scanner示例 532
20.14.4 设置定界符 535
20.14.5 其他Scanner特性 537
20.15 ResourceBundle、ListResourceBundle和PropertyResourceBundle类 538
20.16 其他实用工具类和接口 541
20.17 java.util子包 542
20.17.1 java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.locks 542
20.17.2 java.util.function 542
20.17.3 java.util.jar 545
20.17.4 java.util.logging 545
20.17.5 java.util.prefs 545
20.17.6 java.util.regex 545
20.17.7 java.util.spi 545
20.17.8 java.util.stream 545
20.17.9 java.util.zip 545
第21章 输入/输出:探究java.io 546
21.1 I/O类和接口 546
21.2 File类 547
21.2.1 目录 549
21.2.2 使用FilenameFilter接口 550
21.2.3 listFiles()方法 551
21.2.4 创建目录 552
21.3 AutoCloseable、Closeable和Flushable接口 552
21.4 I/O异常 552
21.5 关闭流的两种方式 553
21.6 流类 554
21.7 字节流 554
21.7.1 InputStream类 554
21.7.2 OutputStream类 555
21.7.3 FileInputStream类 555
21.7.4 FileOutputStream类 557
21.7.5 ByteArrayInputStream类 559
21.7.6 ByteArrayOutputStream类 560
21.7.7 过滤的字节流 562
21.7.8 缓冲的字节流 562
21.7.9 SequenceInputStream类 565
21.7.10 PrintStream类 566
21.7.11 DataOutputStream类和DataInputStream类 568
21.7.12 RandomAccessFile类 570
21.8 字符流 571
21.8.1 Reader类 571
21.8.2 Writer类 572
21.8.3 FileReader类 572
21.8.4 FileWriter类 573
21.8.5 CharArrayReader类 574
21.8.6 CharArrayWriter类 575
21.8.7 BufferedReader类 576
21.8.8 BufferedWriter类 577
21.8.9 PushbackReader类 578
21.8.10 PrintWriter类 579
21.9 Console类 580
21.10 串行化 581
21.10.1 Serializable接口 581
21.10.2 Externalizable接口 581
21.10.3 ObjectOutput接口 582
21.10.4 ObjectOutputStream类 582
21.10.5 ObjectInput接口 583
21.10.6 ObjectInputStream类 583
21.10.7 串行化示例 584
21.11 流的优点 586
第22章 探究NIO 587
22.1 NIO类 587
22.2 NIO的基础知识 587
22.2.1 缓冲区 588
22.2.2 通道 589
22.2.3 字符集和选择器 590
22.3 NIO.2对NIO的增强 590
22.3.1 Path接口 590
22.3.2 Files类 591
22.3.3 Paths类 593
22.3.4 文件属性接口 594
22.3.5 FileSystem、FileSystems和FileStore类 595
22.4 使用NIO系统 595
22.4.1 为基于通道的I/O使用NIO 596
22.4.2 为基于流的I/O使用NIO 603
22.4.3 为路径和文件系统操作使用NIO 605
第23章 联网 613
23.1 联网的基础知识 613
23.2 java.net联网类和接口 614
23.3 InetAddress类 615
23.3.1 工厂方法 615
23.3.2 实例方法 616
23.4 Inet4Address类和Inet6Address类 616
23.5 TCP/IP客户端套接字 616
23.6 URL类 619
23.7 URLConnection类 620
23.8 HttpURLConnection类 622
23.9 URI类 624
23.10 cookie 624
23.11 TCP/IP服务器套接字 624
23.12 数据报 624
23.12.1 DatagramSocket类 625
23.12.2 DatagramPacket类 625
23.12.3 数据报示例 626
23.13 java.net.http包 627
23.13.1 三个关键元素 628
23.13.2 一个简单的HTTP Client示例 630
23.13.3 有关java.net.http的进一步探讨 631
第24章 事件处理 632
24.1 两种事件处理机制 632
24.2 委托事件模型 632
24.2.1 事件 633
24.2.2 事件源 633
24.2.3 事件监听器 633
24.3 事件类 634
24.3.1 ActionEvent类 635
24.3.2 AdjustmentEvent类 635
24.3.3 ComponentEvent类 636
24.3.4 ContainerEvent类 637
24.3.5 FocusEvent类 637
24.3.6 InputEvent类 638
24.3.7 ItemEvent类 638
24.4 KeyEvent类 639
24.4.1 MouseEvent类 640
24.4.2 MouseWheelEvent类 641
24.4.3 TextEvent类 641
24.4.4 WindowEvent类 642
24.5 事件源 643
24.6 事件监听器接口 643
24.6.1 ActionListener接口 643
24.6.2 AdjustmentListener接口 644
24.6.3 ComponentListener接口 644
24.6.4 ContainerListener接口 644
24.6.5 FocusListener接口 644
24.6.6 ItemListener接口 644
24.6.7 KeyListener接口 644
24.6.8 MouseListener接口 645
24.6.9 MouseMotionListener接口 645
24.6.10 MouseWheelListener接口 645
24.6.11 TextListener接口 645
24.6.12 WindowFocusListener接口 645
24.6.13 WindowListener接口 645
24.7 使用委托事件模型 646
24.7.1 一些重要的AWT GUI概念 646
24.7.2 处理鼠标事件 647
24.7.3 处理键盘事件 649
24.8 适配器类 652
24.9 内部类 654
第25章 AWT介绍:使用窗口、图形和文本 658
25.1 AWT类 658
25.2 窗口基本元素 660
25.2.1 Component类 660
25.2.2 Container类 661
25.2.3 Panel类 661
25.2.4 Window类 661
25.2.5 Frame类 661
25.2.6 Canvas类 661
25.3 使用框架窗口 661
25.3.1 设置窗口的尺寸 661
25.3.2 隐藏和显示窗口 662
25.3.3 设置窗口的标题 662
25.3.4 关闭框架窗口 662
25.3.5 paint()方法 662
25.3.6 显示字符串 663
25.3.7 设置前景色和背景色 663
25.3.8 请求重画 663
25.3.9 创建基于框架的应用程序 664
25.4 使用图形 665
25.4.1 绘制直线 665
25.4.2 绘制矩形 665
25.4.3 绘制椭圆和圆 665
25.4.4 绘制弧形 666
25.4.5 绘制多边形 666
25.4.6 演示绘制方法 666
25.4.7 改变图形的大小 668
25.5 使用颜色 669
25.5.1 Color类的方法 669
25.5.2 设置当前图形的颜色 670
25.5.3 一个演示颜色的程序 670
25.6 设置绘图模式 671
25.7 使用字体 673
25.7.1 确定可用字体 674
25.7.2 创建和选择字体 675
25.7.3 获取字体信息 677
25.8 使用FontMetrics管理文本输出 678
第26章 使用AWT控件、布局管理器和菜单 681
26.1 AWT控件的基础知识 681
26.1.1 添加和移除控件 682
26.1.2 响应控件 682
26.1.3 HeadlessException异常 682
26.2 使用标签 682
26.3 使用命令按钮 684
26.4 使用复选框 687
26.5 使用复选框组 689
26.6 使用下拉列表 691
26.7 使用列表框 693
26.8 管理滚动条 696
26.9 使用TextField 699
26.10 使用TextArea 701
26.11 理解布局管理器 703
26.11.1 FlowLayout布局管理器 703
26.11.2 BorderLayout布局管理器 704
26.11.3 使用Insets 705
26.11.4 GridLayout布局管理器 707
26.11.5 CardLayout布局管理器 708
26.11.6 GridBagLayout布局管理器 711
26.12 菜单栏和菜单 715
26.13 对话框 719
26.14 关于重写paint()方法 723
第27章 图像 724
27.1 文件格式 724
27.2 图像基础知识:创建、加载与显示 724
27.2.1 创建Image对象 725
27.2.2 加载图像 725
27.2.3 显示图像 725
27.3 双缓冲 726
27.4 ImageProducer接口 729
27.5 ImageConsumer接口 731
27.6 ImageFilter类 733
27.6.1 CropImageFilter类 733
27.6.2 RGBImageFilter类 735
27.7 其他图像类 745
第28章 并发实用工具 746
28.1 并发API包 747
28.1.1 java.util.concurrent包 747
28.1.2 java.util.concurrent.atomic包 748
28.1.3 java.util.concurrent.locks包 748
28.2 使用同步对象 748
28.2.1 Semaphore类 748
28.2.2 CountDownLatch类 753
28.2.3 CyclicBarrier类 754
28.2.4 Exchanger类 756
28.2.5 Phaser类 758
28.3 使用执行器 764
28.3.1 一个简单的执行器示例 765
28.3.2 使用Callable和Future接口 767
28.4 TimeUnit枚举 769
28.5 并发集合 770
28.6 锁 771
28.7 原子操作 773
28.8 通过Fork/Join框架进行并行编程 774
28.8.1 主要的Fork/Join类 774
28.8.2 分而治之的策略 777
28.8.3 一个简单的Fork/Join示例 777
28.8.4 理解并行级别带来的影响 780
28.8.5 一个使用RecursiveTask的例子 782
28.8.6 异步执行任务 784
28.8.7 取消任务 785
28.8.8 确定任务的完成状态 785
28.8.9 重新启动任务 785
28.8.10 深入研究 785
28.8.11 关于Fork/Join框架的一些提示 786
28.9 并发实用工具与Java传统方式的比较 787
第29章 流API 788
29.1 流的基础知识 788
29.1.1 流接口 788
29.1.2 如何获得流 790
29.1.3 一个简单的流示例 791
29.2 缩减操作 793
29.3 使用并行流 795
29.4 映射 797
29.5 收集 800
29.6 迭代器和流 803
29.6.1 对流使用迭代器 804
29.6.2 使用Spliterator 805
29.7 流API中更多值得探究的地方 807
第30章 正则表达式和其他包 808
30.1 正则表达式处理 808
30.1.1 Pattern类 808
30.1.2 Matcher类 809
30.1.3 正则表达式的语法 809
30.1.4 演示模式匹配 810
30.1.5 模式匹配的两个选项 814
30.1.6 探究正则表达式 815
30.2 反射 815
30.3 远程方法调用 818
30.4 使用java.text格式化日期和时间 821
30.4.1 DateFormat类 821
30.4.2 SimpleDateFormat类 823
30.5 java.time的时间和日期API 824
30.5.1 时间和日期的基础知识 825
30.5.2 格式化日期和时间 826
30.5.3 解析日期和时间字符串 828
30.5.4 探究java.time包的其他方面 829
第Ⅲ部分 使用Swing进行GUI编程
第31章 Swing简介 833
31.1 Swing的起源 833
31.2 Swing的构建以AWT为基础 834
31.3 两个关键的Swing特性 834
31.3.1 Swing组件是轻量级的 834
31.3.2 Swing支持可插入外观 834
31.4 MVC连接 834
31.5 组件与容器 835
31.5.1 组件 835
31.5.2 容器 836
31.5.3 很好容器窗格 836
31.6 Swing包 836
31.7 一个简单的Swing应用程序 837
31.8 事件处理 840
31.9 在Swing中绘图 843
31.9.1 绘图的基础知识 843
31.9.2 计算可绘制区域 844
31.9.3 一个绘图示例 844
第32章 探索Swing 847
32.1 JLabel与ImageIcon 847
32.2 JTextField 849
32.3 Swing按钮 850
32.3.1 JButton 851
32.3.2 JToggleButton 853
32.3.3 复选框 854
32.3.4 单选按钮 856
32.4 JTabbedPane 858
32.5 JScrollPane 860
32.6 JList 862
32.7 JComboBox 864
32.8 树 866
32.9 JTable 869
第33章 Swing菜单简介 872
33.1 菜单的基础知识 872
33.2 JMenuBar、JMenu和JMenuItem概述 873
33.2.1 JMenuBar 873
33.2.2 JMenu 874
33.2.3 JMenuItem 875
33.3 创建主菜单 875
33.4 向菜单项添加助记符和加速键 879
33.5 向菜单项添加图片和工具提示 881
33.6 使用JRadioButtonMenuItem和
JCheckBoxMenuItem 881
33.7 创建弹出菜单 883
33.8 创建工具栏 886
33.9 使用动作 888
33.10 完整演示MenuDemo程序 892
33.11 继续探究Swing 898
第Ⅳ部分 应用Java
第34章 Java Bean 901
34.1 Java Bean是什么 901
34.2 Java Bean的优势 901
34.3 内省 902
34.3.1 属性的设计模式 902
34.3.2 事件的设计模式 903
34.3.3 方法与设计模式 903
34.3.4 使用BeanInfo接口 903
34.4 绑定属性与约束属性 904
34.5 持久性 904
34.6 定制器 904
34.7 Java Bean API 905
34.7.1 Introspector类 906
34.7.2 PropertyDescriptor类 906
34.7.3 EventSetDescriptor类 906
34.7.4 MethodDescriptor类 906
34.8 一个Bean示例 906
第35章 servlet 910
35.1 背景 910
35.2 servlet的生命周期 910
35.3 servlet开发选项 911
35.4 使用Tomcat 911
35.5 一个简单的servlet 912
35.5.1 创建和编译servlet源代码 913
35.5.2 启动Tomcat 913
35.5.3 启动Web浏览器并请求servlet 913
35.6 Servlet API 914
35.7 javax.servlet包 914
35.7.1 Servlet接口 914
35.7.2 ServletConfig接口 915
35.7.3 ServletContext接口 915
35.7.4 ServletRequest接口 916
35.7.5 ServletResponse接口 916
35.7.6 GenericServlet类 916
35.7.7 ServletInputStream类 917
35.7.8 ServletOutputStream类 917
35.7.9 servlet异常类 917
35.8 读取servlet参数 917
35.9 javax.servlet.http包 918
35.9.1 HttpServletRequest接口 919
35.9.2 HttpServletResponse接口 920
35.9.3 HttpSession接口 920
35.9.4 Cookie类 921
35.9.5 HttpServlet类 922
35.10 处理HTTP请求和响应 923
35.10.1 处理HTTP GET请求 923
35.10.2 处理HTTP POST请求 924
35.11 使用cookie 925
35.12 会话跟踪 927
第Ⅴ部分 附录
附录A 使用Java的文档注释 931
附录B JShell简介 938
附录C 在一个步骤中编译和运行简单的单文件程序 946
内容推荐
本书针对Java SE 11做了全面更新,介绍如何开发、编译、调试和运行Java程序。本书详尽讲解Java语言,包括Java的语法、关键字和基本编程原则,以及Java API库、集合框架、流框架和并发工具。本书详细讨论模块系统,分析Java Bean、servlet和Swing,深入讲解Java的交互式编程工具JShell。本书内容清晰明快,耐人寻味,是全球数百万读者的理想之选。
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/4 5:56:37