您好,欢迎光临有路网!
Java核心技术 卷I 基础知识 第11版 英文版 上下册
QQ咨询:

Java核心技术 卷I 基础知识 第11版 英文版 上下册

  • 作者:[美] 凯·S. 霍斯特曼(Cay S. Horstmann)
  • 出版社:人民邮电出版社
  • ISBN:9787115504920
  • 出版日期:2019年05月01日
  • 页数:842
  • 定价:¥149.00
  • 砍价广告长条形
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书是经典的《Java核心技术 卷I:基础知识》的新版。这一版对全书进行了全面更新,以反映Java SE 9、Java SE 10和Java SE 11的特性。
    书中囊括了Java的全部基础知识,提供了大量完整且具有实际意义的应用示例,详细介绍了Java语言基础、面向对象编程、反射与代理、接口与内部类、事件监听器模型、使用Swing UI工具进行图形用户界面程序设计、打包应用程序、异常处理、登录与调试、泛型编程、集合框架、多线程和并发等内容。
    目录
    Chapter 1: An Introduction to Java / Java概述 1
    1.1 Java as a Programming Platform / Java程序设计平台 1
    1.2 The Java“White Paper”Buzzwords / Java“白皮书”中的口号 2
    1.2.1 Simple / 简单 3
    1.2.2 Object-Oriented / 面向对象 4
    1.2.3 Distributed / 分布式 4
    1.2.4 Robust / 健壮 4
    1.2.5 Secure / 安全 5
    1.2.6 Architecture-Neutral / 体系结构中立 6
    1.2.7 Portable / 可移植 6
    1.2.8 Interpreted / 解释型 7
    1.2.9 High-Performance / 高性能 7
    1.2.10 Multithreaded / 多线程 8
    1.2.11 Dynamic / 动态 8
    1.3 Java Applets and the Internet / Java Applet与Internet 9
    1.4 A Short History of Java / Java简史 10
    1.5 Common Misconceptions about Java / 对Java的常见误解 13

    Chapter 2: The Java Programming Environment / Java编程环境 17
    2.1 Installing the Java Development Kit / 安装Java开发包(JDK) 18
    2.1.1 Downloading the JDK / 下载JDK 18
    2.1.2 Setting up the JDK / 设置JDK 20
    2.1.3 Installing Source Files and Documentation / 安装源文件和文档 22
    2.2 Using the Command-Line Tools / 使用命令行工具 23
    2.3 Using an Integrated Development Environment / 使用集成开发环境 29
    2.4 JShell 32

    Chapter 3: Fundamental Programming Structures in Java / Java的基本编程结构 37
    3.1 A Simple Java Program / 一个简单的Java程序 38
    3.2 Comments / 注释 41
    3.3 Data Types / 数据类型 42
    3.3.1 Integer Types / 整型 43
    3.3.2 Floating-Point Types / 浮点型 44
    3.3.3 The char Type / char类型 46
    3.3.4 Unicode and the char Type / Unicode与char类型 47
    3.3.5 The boolean Type / boolean类型 48
    3.4 Variables and Constants / 变量和常量 48
    3.4.1 Declaring Variables / 声明变量 48
    3.4.2 Initializing Variables / 初始化变量 50
    3.4.3 Constants / 常量 51
    3.4.4 Enumerated Types / 枚举类型 52
    3.5 Operators / 运算符 52
    3.5.1 Arithmetic Operators / 算术运算符 52
    3.5.2 Mathematical Functions and Constants / 数学函数和常量 54
    3.5.3 Conversions between Numeric Types / 数值类型之间的转换 56
    3.5.4 Casts / 强制类型转换 57
    3.5.5 Combining Assignment with Operators / 组合赋值运算符 58
    3.5.6 Increment and Decrement Operators / 自增与自减运算符 58
    3.5.7 Relational and boolean Operators / 关系与boolean运算符 59
    3.5.8 Bitwise Operators / 位运算符 60
    3.5.9 Parentheses and Operator Hierarchy / 括号与运算符优先级 61
    3.6 Strings / 字符串 62
    3.6.1 Substrings / 子串 62
    3.6.2 Concatenation / 拼接 63
    3.6.3 Strings Are Immutable / String是不可变的 63
    3.6.4 Testing Strings for Equality / 测试字符串是否相等 65
    3.6.5 Empty and Null Strings / 空串与null串 66
    3.6.6 Code Points and Code Units / 码位与编码单元 66
    3.6.7 The String API / String API 68
    3.6.8 Reading the Online API Documentation / 阅读在线API文档 71
    3.6.9 Building Strings / 构建字符串 74
    3.7 Input and Output / 输入和输出 75
    3.7.1 Reading Input / 读取输入 75
    3.7.2 Formatting Output / 格式化输出 78
    3.7.3 File Input and Output / 文件输入和输出 83
    3.8 Control Flow / 控制流 86
    3.8.1 Block Scope / 块作用域 86
    3.8.2 Conditional Statements / 条件语句 87
    3.8.3 Loops / 循环 91
    3.8.4 Determinate Loops / 确定性循环 95
    3.8.5 Multiple Selections—The switch Statement / 多重选择:switch语句 99
    3.8.6 Statements That Break Control Flow / 用于跳出控制流的语句 102
    3.9 Big Numbers / 大数 105
    3.10 Arrays / 数组 108
    3.10.1 Declaring Arrays / 声明数组 108
    3.10.2 Accessing Array Elements / 访问数组元素 109
    3.10.3 The “for each” Loop / “for each”循环 110
    3.10.4 Array Copying / 数组复制 111
    3.10.5 Command-Line Parameters / 命令行参数 112
    3.10.6 Array Sorting / 数组排序 113
    3.10.7 Multidimensional Arrays / 多维数组 116
    3.10.8 Ragged Arrays / 不规则数组 120

    Chapter 4: Objects and Classes / 对象与类 125
    4.1 Introduction to Object-Oriented Programming / 面向对象编程简介 126
    4.1.1 Classes / 类 127
    4.1.2 Objects / 对象 128
    4.1.3 Identifying Classes / 识别类 129
    4.1.4 Relationships between Classes / 类之间的关系 129
    4.2 Using Predefined Classes / 使用预定义类 131
    4.2.1 Objects and Object Variables / 对象与对象变量 132
    4.2.2 The LocalDate Class of the Java Library / Java库中的LocalDate类 135
    4.2.3 Mutator and Accessor Methods / 更改器方法与访问器方法 138
    4.3 Defining Your Own Classes / 定义自己的类 141
    4.3.1 An Employee Class / Employee类 142
    4.3.2 Use of Multiple Source Files / 使用多个源文件 145
    4.3.3 Dissecting the Employee Class / 分析Employee类 146
    4.3.4 First Steps with Constructors / 从构造器开始 146
    4.3.5 Declaring Local Variables with var / 使用var声明局部变量 148
    4.3.6 Working with null References / 使用null引用 148
    4.3.7 Implicit and Explicit Parameters / 隐式参数与显式参数 150
    4.3.8 Benefits of Encapsulation / 封装的好处 151
    4.3.9 Class-Based Access Privileges / 基于类的访问权限 154
    4.3.10 Private Methods / 私有方法 155
    4.3.11 Final Instance Fields / final实例字段 155
    4.4 Static Fields and Methods / 静态的字段与方法 156
    4.4.1 Static Fields / 静态字段 156
    4.4.2 Static Constants / 静态常量 157
    4.4.3 Static Methods / 静态方法 158
    4.4.4 Factory Methods / 工厂方法 159
    4.4.5 The main Method / main方法 160
    4.5 Method Parameters / 方法参数 163
    4.6 Object Construction / 对象构建 170
    4.6.1 Overloading / 重载 170
    4.6.2 Default Field Initialization / 默认字段初始化 171
    4.6.3 The Constructor with No Arguments / 无参构造器 172
    4.6.4 Explicit Field Initialization / 显式字段初始化 173
    4.6.5 Parameter Names / 参数名 174
    4.6.6 Calling Another Constructor / 调用另一个构造器 175
    4.6.7 Initialization Blocks / 初始化块 175
    4.6.8 Object Destruction and the finalize Method / 对象析构与finalize方法 180
    4.7 Packages / 包 180
    4.7.1 Package Names / 包名 181
    4.7.2 Class Importation / 导入类 181
    4.7.3 Static Imports / 静态导入 183
    4.7.4 Addition of a Class into a Package / 将类添加到某个包中 184
    4.7.5 Package Access / 包访问权限 187
    4.7.6 The Class Path / 类路径 189
    4.7.7 Setting the Class Path / 设置类路径 191
    4.8 JAR Files / JAR文件 192
    4.8.1 Creating JAR files / 创建JAR文件 192
    4.8.2 The Manifest / 清单文件 193
    4.8.3 Executable JAR Files / 可执行的JAR文件 194
    4.8.4 Multi-Release JAR Files / 支持多个Java版本的JAR文件 195
    4.8.5 A Note about Command-Line Options / 关于命令行选项的说明 197
    4.9 Documentation Comments / 文档注释 198
    4.9.1 Comment Insertion / 插入注释 199
    4.9.2 Class Comments / 类注释 199
    4.9.3 Method Comments / 方法注释 200
    4.9.4 Field Comments / 字段注释 201
    4.9.5 General Comments / 通用注释 201
    4.9.6 Package Comments / 包注释 202
    4.9.7 Comment Extraction / 提取注释 203
    4.10 Class Design Hints / 类设计建议 204

    Chapter 5: Inheritance / 继承 207
    5.1 Classes, Superclasses, and Subclasses / 类、超类与子类 208
    5.1.1 Defining Subclasses / 定义子类 208
    5.1.2 Overriding Methods / 覆盖方法 210
    5.1.3 Subclass Constructors / 子类构造器 211
    5.1.4 Inheritance Hierarchies / 继承层次 216
    5.1.5 Polymorphism / 多态 217
    5.1.6 Understanding Method Calls / 理解方法调用 218
    5.1.7 Preventing Inheritance: Final Classes and Methods / 阻止继承:final修饰的类和方法 221
    5.1.8 Casting / 强制类型转换 223
    5.1.9 Abstract Classes / 抽象类 225
    5.1.10 Protected Access / 受保护访问 231
    5.2 Object: The Cosmic Superclass / Object:所有类的超类 232
    5.2.1 Variables of Type Object / Object类型的变量 232
    5.2.2 The equals Method / equals方法 233
    5.2.3 Equality Testing and Inheritance / 相等测试与继承 234
    5.2.4 The hashCode Method / hashCode方法 238
    5.2.5 The toString Method / toString方法 241
    5.3 Generic Array Lists / 泛型数组列表 248
    5.3.1 Declaring Array Lists / 声明数组列表 248
    5.3.2 Accessing Array List Elements / 访问数组列表的元素 251
    5.3.3 Compatibility between Typed and Raw Array Lists / 类型化和原始数组列表的兼容性 255
    5.4 Object Wrappers and Autoboxing / 对象包装器与自动装箱 256
    5.5 Methods with a Variable Number of Parameters / 参数数量可变的方法 260
    5.6 Enumeration Classes / 枚举类 261
    5.7 Reflection / 反射 264
    5.7.1 The Class Class / Class类 264
    5.7.2 A Primer on Declaring Exceptions / 初步了解如何声明异常 267
    5.7.3 Resources / 资源 268
    5.7.4 Using Reflection to Analyze the Capabilities of Classes / 使用反射分析类的能力 271
    5.7.5 Using Reflection to Analyze Objects at Runtime / 使用反射在运行时分析对象 277
    5.7.6 Using Reflection to Write Generic Array Code / 使用反射编写泛型数组代码 283
    5.7.7 Invoking Arbitrary Methods and Constructors / 调用任意方法和构造器 286
    5.8 Design Hints for Inheritance / 继承的设计建议 290

    Chapter 6: Interfaces, Lambda Expressions, and Inner Classes / 接口、Lambda表达式和内部类 295
    6.1 Interfaces / 接口 296
    6.1.1 The Interface Concept / 接口的概念 296
    6.1.2 Properties of Interfaces / 接口的特性 303
    6.1.3 Interfaces and Abstract Classes / 接口与抽象类 305
    6.1.4 Static and Private Methods / 静态和私有方法 306
    6.1.5 Default Methods / 默认方法 307
    6.1.6 Resolving Default Method Conflicts / 解决默认方法的冲突 308
    6.1.7 Interfaces and Callbacks / 接口与回调 310
    6.1.8 The Comparator Interface / Comparator接口 313
    6.1.9 Object Cloning / 对象克隆 314
    6.2 Lambda Expressions / Lambda表达式 322
    6.2.1 Why Lambdas / 为什么引入Lambda表达式 322
    6.2.2 The Syntax of Lambda Expressions / Lambda表达式的语法 323
    6.2.3 Functional Interfaces / 函数式接口 326
    6.2.4 Method References / 方法引用 328
    6.2.5 Constructor References / 构造器引用 332
    6.2.6 Variable Scope / 变量作用域 333
    6.2.7 Processing Lambda Expressions / 处理Lambda表达式 335
    6.2.8 More about Comparators / 再谈Comparator 339
    6.3 Inner Classes / 内部类 340
    6.3.1 Use of an Inner Class to Access Object State / 使用内部类访问对象状态 341
    6.3.2 Special Syntax Rules for Inner Classes / 内部类的特殊语法规则 345
    6.3.3 Are Inner Classes Useful Actually Necessary Secure / 内部类是否有用、必要和安全 346
    6.3.4 Local Inner Classes / 局部内部类 349
    6.3.5 Accessing Variables from Outer Methods / 从外部方法访问变量 350
    6.3.6 Anonymous Inner Classes / 匿名内部类 352
    6.3.7 Static Inner Classes / 静态内部类 356
    6.4 Service Loaders / 服务加载器 360
    6.5 Proxies / 代理 362
    6.5.1 When to Use Proxies / 何时使用代理 363
    6.5.2 Creating Proxy Objects / 创建代理对象 363
    6.5.3 Properties of Proxy Classes / 代理类的特性 368

    Chapter 7: Exceptions, Assertions, and Logging / 异常、断言与日志 371
    7.1 Dealing with Errors / 处理错误 372
    7.1.1 The Classification of Exceptions / 异常分类 373
    7.1.2 Declaring Checked Exceptions / 声明检查型异常 375
    7.1.3 How to Throw an Exception / 如何抛出异常 378
    7.1.4 Creating Exception Classes / 创建异常类 380
    7.2 Catching Exceptions / 捕获异常 381
    7.2.1 Catching an Exception / 捕获一个异常 381
    7.2.2 Catching Multiple Exceptions / 捕获多个异常 383
    7.2.3 Rethrowing and Chaining Exceptions / 再次抛出异常与异常链 384
    7.2.4 The finally Clause / finally子句 386
    7.2.5 The try-with-Resources Statement / try-with-resources语句 389
    7.2.6 Analyzing Stack Trace Elements / 分析栈轨迹元素 391
    7.3 Tips for Using Exceptions / 异常使用技巧 396
    7.4 Using Assertions / 使用断言 399
    7.4.1 The Assertion Concept / 断言的概念 399
    7.4.2 Assertion Enabling and Disabling / 启用和禁用断言 400
    7.4.3 Using Assertions for Parameter Checking / 使用断言检查参数 401
    7.4.4 Using Assertions for Documenting Assumptions / 使用断言保证文档中假定成立的条件 402
    7.5 Logging / 日志 403
    7.5.1 Basic Logging / 基本日志 404
    7.5.2 Advanced Logging / **日志 405
    7.5.3 Changing the Log Manager Configuration / 修改日志管理器配置 407
    7.5.4 Localization / 本地化 409
    7.5.5 Handlers / 处理器 410
    7.5.6 Filters / 过滤器 414
    7.5.7 Formatters / 格式化器 415
    7.5.8 A Logging Recipe / 常见日志操作总结 415
    7.6 Debugging Tips / 调试技巧 425

    Chapter 8: Generic Programming / 泛型编程 431
    8.1 Why Generic Programming / 为什么要使用泛型编程 432
    8.1.1 The Advantage of Type Parameters / 类型参数的好处 432
    8.1.2 Who Wants to Be a Generic Programmer / 哪些人想成为泛型程序员 433
    8.2 Defining a Simple Generic Class / 定义简单的泛型类 434
    8.3 Generic Methods / 泛型方法 437
    8.4 Bounds for Type Variables / 类型变量的绑定 438
    8.5 Generic Code and the Virtual Machine / 泛型代码与虚拟机 441
    8.5.1 Type Erasure / 类型擦除 441
    8.5.2 Translating Generic Expressions / 翻译泛型表达式 442
    8.5.3 Translating Generic Methods / 翻译泛型方法 443
    8.5.4 Calling Legacy Code / 调用**代码 445
    8.6 Restrictions and Limitations / 约束与局限性 447
    8.6.1 Type Parameters Cannot Be Instantiated with Primitive Types / 类型参数不能用基本类型来实例化 447
    8.6.2 Runtime Type Inquiry Only Works with Raw Types / 运行时类型查询只适用于原始类型 447
    8.6.3 You Cannot Create Arrays of Parameterized Types / 不能创建参数化类型的数组 448
    8.6.4 Varargs Warnings / 注意变长参数情况 448
    8.6.5 You Cannot Instantiate Type Variables / 不能实例化类型变量 450
    8.6.6 You Cannot Construct a Generic Array / 不能构造泛型数组 451
    8.6.7 Type Variables Are Not Valid in Static Contexts of Generic Classes / 类型变量在泛型类的静态上下文中无效 452
    8.6.8 You Cannot Throw or Catch Instances of a Generic Class / 不能抛出或捕获泛型类的实例 453
    8.6.9 You Can Defeat Checked Exception Checking / 可以打破“检查型异常必须检查”的规则 454
    8.6.10 Beware of Clashes after Erasure / 意类型擦除后的冲突 455
    8.7 Inheritance Rules for Generic Types / 泛型类型的继承规则 457
    8.8 Wildcard Types / 通配符类型 459
    8.8.1 The Wildcard Concept / 通配符的概念 459
    8.8.2 Supertype Bounds for Wildcards / 通配符的超类型限定 461
    8.8.3 Unbounded Wildcards / 无限定通配符 464
    8.8.4 Wildcard Capture / 通配符捕获 465
    8.9 Reflection and Generics / 反射与泛型 467
    8.9.1 The Generic Class Class / 泛型的Class类 467
    8.9.2 Using Class Parameters for Type Matching / 使用Class参数进行类型匹配 469
    8.9.3 Generic Type Information in the Virtual Machine / 虚拟机中的泛型类型信息 469
    8.9.4 Type Literals / TypeLiteral 473

    Chapter 9: Collections / 集合类 481
    9.1 The Java Collections Framework / Java集合类框架 482
    9.1.1 Separating Collection Interfaces and Implementation / 将集合类的接口与实现分离 482
    9.1.2 The Collection Interface / Collection接口 485
    9.1.3 Iterators / 迭代器 485
    9.1.4 Generic Utility Methods / 泛型的实用方法 489
    9.2 Interfaces in the Collections Framework / 集合类框架中的接口 492
    9.3 Concrete Collections / 具体的集合类 494
    9.3.1 Linked Lists / 链表 496
    9.3.2 Array Lists / 数组列表 507
    9.3.3 Hash Sets / 散列集 507
    9.3.4 Tree Sets / 树形集 511
    9.3.5 Queues and Deques / 队列与双端队列 516
    9.3.6 Priority Queues / 优先级队列 518
    9.4 Maps / 映射 519
    9.4.1 Basic Map Operations / 基本映射操作 519
    9.4.2 Updating Map Entries / 更新映射表项 523
    9.4.3 Map Views / 映射视图 525
    9.4.4 Weak Hash Maps / 弱散列映射 526
    9.4.5 Linked Hash Sets and Maps / LinkedHashSet与LinkedHashMap 527
    9.4.6 Enumeration Sets and Maps / EnumSet与EnumMap 529
    9.4.7 Identity Hash Maps / IdentityHashMap 530
    9.5 Views and Wrappers / 视图与包装器 532
    9.5.1 Small Collections / 小型集合 532
    9.5.2 Subranges / 子范围 534
    9.5.3 Unmodifiable Views / 不可修改视图 535
    9.5.4 Synchronized Views / 同步视图 536
    9.5.5 Checked Views / 检查用视图 536
    9.5.6 A Note on Optional Operations / 可选操作说明 537
    9.6 Algorithms / 算法 541
    9.6.1 Why Generic Algorithms / 为什么要使用泛型算法 541
    9.6.2 Sorting and Shuffling / 排序与混排 543
    9.6.3 Binary Search / 二分查找 546
    9.6.4 Simple Algorithms / 简单算法 547
    9.6.5 Bulk Operations / 主要操作 549
    9.6.6 Converting between Collections and Arrays / 集合与数组之间的转换 550
    9.6.7 Writing Your Own Algorithms / 编写自己的算法 551
    9.7 Legacy Collections / **的集合类 552
    9.7.1 The Hashtable Class / Hashtable类 553
    9.7.2 Enumerations / Enumeration 553
    9.7.3 Property Maps / 属性映射 555
    9.7.4 Stacks / 栈 558
    9.7.5 Bit Sets / 位集 559

    Chapter 10: Graphical User Interface Programming / 图形用户界面编程 565
    10.1 A History of Java User Interface Toolkits / Java用户界面工具包的历史 565
    10.2 Displaying Frames / 显示框架 567
    10.2.1 Creating a Frame / 创建框架 568
    10.2.2 Frame Properties / 框架属性 570
    10.3 Displaying Information in a Component / 在组件中显示信息 574
    10.3.1 Working with 2D Shapes / 处理2D图形 579
    10.3.2 Using Color / 使用颜色 587
    10.3.3 Using Fonts / 使用字体 589
    10.3.4 Displaying Images / 显示图片 597
    10.4 Event Handling / 事件处理 598
    10.4.1 Basic Event Handling Concepts / 事件处理的基本概念 598
    10.4.2 Example: Handling a Button Click / 示例:处理按钮点击事件 600
    10.4.3 Specifying Listeners Concisely / 设置监听器的简洁方法 604
    10.4.4 Adapter Classes / 适配器类 605
    10.4.5 Actions / 动作 608
    10.4.6 Mouse Events / 鼠标事件 614
    10.4.7 The AWT Event Hierarchy / AWT事件层次 620
    10.5 The Preferences API / Preferences API 624

    Chapter 11: User Interface Components with Swing / Swing用户界面组件 631
    11.1 Swing and the Model-View-Controller Design Pattern / Swing与模型-视图-控制器设计模式 632
    11.2 Introduction to Layout Management / 布局管理简介 636
    11.2.1 Layout Managers / 布局管理器 637
    11.2.2 Border Layout / 边框布局 639
    11.2.3 Grid Layout / 网格布局 642
    11.3 Text Input / 文本输入 643
    11.3.1 Text Fields / 文本框 643
    11.3.2 Labels and Labeling Components / 标签与标签组件 645
    11.3.3 Password Fields / 密码框 647
    11.3.4 Text Areas / 文本区域 647
    11.3.5 Scroll Panes / 滚动窗格 648
    11.4 Choice Components / 选择组件 651
    11.4.1 Checkboxes / 复选框 651
    11.4.2 Radio Buttons /单选按钮 654
    11.4.3 Borders / 边框 658
    11.4.4 Combo Boxes / 组合框 661
    11.4.5 Sliders / 滑动条 665
    11.5 Menus / 菜单 671
    11.5.1 Menu Building / 菜单构建 672
    11.5.2 Icons in Menu Items / 菜单项中的图标 675
    11.5.3 Checkbox and Radio Button Menu Items / 复选框和单选按钮菜单项 676
    11.5.4 Pop-Up Menus / 弹出菜单 677
    11.5.5 Keyboard Mnemonics and Accelerators / 键盘助记符与快捷键 679
    11.5.6 Enabling and Disabling Menu Items / 启用和禁用菜单项 682
    11.5.7 Toolbars / 工具栏 687
    11.5.8 Tooltips / 工具提示 689
    11.6 Sophisticated Layout Management / 复杂的布局管理 690
    11.6.1 The Grid Bag Layout / 网格袋布局 691
    11.6.2 Custom Layout Managers / 定制布局管理器 702
    11.7 Dialog Boxes / 对话框 706
    11.7.1 Option Dialogs / 选项对话框 707
    11.7.2 Creating Dialogs / 创建对话框 712
    11.7.3 Data Exchange / 数据交换 716
    11.7.4 File Dialogs / 文件对话框 723

    Chapter 12: Concurrency / 并发 733
    12.1 What Are Threads / 什么是线程 734
    12.2 Thread States / 线程状态 739
    12.2.1 New Threads / 新创建线程 740
    12.2.2 Runnable Threads / 可运行线程 740
    12.2.3 Blocked and Waiting Threads / 被阻塞线程与等待线程 741
    12.2.4 Terminated Threads / 被终止的线程 742
    12.3 Thread Properties / 线程属性 743
    12.3.1 Interrupting Threads / 中断线程 743
    12.3.2 Daemon Threads / 守护线程 746
    12.3.3 Thread Names / 线程名 747
    12.3.4 Handlers for Uncaught Exceptions / 未捕获异常的处理器 747
    12.3.5 Thread Priorities / 线程优先级 749
    12.4 Synchronization / 同步 750
    12.4.1 An Example of a Race Condition / 竞争条件的一个案例 750
    12.4.2 The Race Condition Explained / 竞争条件详解 752
    12.4.3 Lock Objects / 锁对象 755
    12.4.4 Condition Objects / 条件对象 758
    12.4.5 The synchronized Keyword / synchronized关键字 764
    12.4.6 Synchronized Blocks / 同步块 768
    12.4.7 The Monitor Concept / 监视器概念 770
    12.4.8 Volatile Fields / volatile字段 771
    12.4.9 Final Variables / final变量 772
    12.4.10 Atomics / 原子 773
    12.4.11 Deadlocks / 死锁 775
    12.4.12 Thread-Local Variables / 线程局部变量 778
    12.4.13 Why the stop and suspend Methods Are Deprecated / 为什么弃用stop和suspend方法 779
    12.5 Thread-Safe Collections / 线程安全的集合 781
    12.5.1 Blocking Queues / 阻塞队列 781
    12.5.2 Efficient Maps, Sets, and Queues / 高效的映射、集和队列 789
    12.5.3 Atomic Update of Map Entries / 映射表项的原子更新 790
    12.5.4 Bulk Operations on Concurrent Hash Maps / 并发散列映射上的主要操作 794
    12.5.5 Concurrent Set Views / 并发的集视图 796
    12.5.6 Copy on Write Arrays / 写时复制的数组 797
    12.5.7 Parallel Array Algorithms / 并行数组算法 797
    12.5.8 Older Thread-Safe Collections / 较早的线程安全的集合 799
    12.6 Tasks and Thread Pools / 任务和线程池 800
    12.6.1 Callables and Futures / Callable与Future 800
    12.6.2 Executors / 执行器 802
    12.6.3 Controlling Groups of Tasks / 控制任务组 806
    12.6.4 The Fork-Join Framework / Fork-Join框架 811
    12.7 Asynchronous Computations / 异步计算 814
    12.7.1 Completable Futures / CompletableFuture 815
    12.7.2 Composing Completable Futures / 组合CompletableFuture 817
    12.7.3 Long-Running Tasks in User Interface Callbacks / 用户界面回调中的长期运行任务 823
    12.8 Processes / 进程 831
    12.8.1 Building a Process / 构建进程 832
    12.8.2 Running a Process / 运行进程 834
    12.8.3 Process Handles / 进程handle 835

    Appendix / 附录 839
    编辑推荐语
    Java领域颇具影响力和价值的经典著作
    曾获Jolt生产效率大奖的Java经典图书新版
    全面体现Java SE 9、Java SE 10和Java SE 11的新变化

    本书是两卷本中的**卷,书中深入介绍了基本的Java和UI编程,包括对象、泛型、集合、Lambda 表达式、Swing设计、并发和函数式编程。如果你已经是有经验的程序员,只是刚学习Java SE 9、Java SE 10或Java SE 11,应该没有比本书更适合的资料了,它集中了专家见解、解决方案和代码。

    ● 掌握编写优秀Java代码的基础技术、习惯用法和*佳实践。
    ● 充分利用接口、Lambda表达式和内部类的强大力量。
    ● 通过高效的异常处理和调试让程序更可靠。
    ● 通过泛型编程编写更安全、可复用性更好的代码。
    ● 使用Java的标准集合类改进性能和效率。
    ● 使用Swing工具箱构建跨平台图形界面应用。
    ● 通过Java改进的并发支持充分发挥多核处理器的能力。

    想深入了解Java SE 9、Java SE 10或Java SE 11的企业特性、模块系统、网络、安全和**UI编程,请阅读《Java核心技术 卷 II:**特性(第11 版)》。
    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外