写给大忙人看的Java核心技术

写给大忙人看的Java核心技术
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Cay S.Horstmann) ,
2016-01
版次: 1
ISBN: 9787121278372
定价: 108.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 484页
字数: 557千字
正文语种: 简体中文
74人买过
  •   《写给大忙人看的Java核心技术》为经典著作CoreJava作者CayS.Horstmann的全新力作,以关键的核心技术为着眼点,以全局高度提炼语言精髓,以高浓度、高含金量的方式对Java8新特性进行细致讲解,将其沉浸于Java多年的真知灼见蕴藏于书中,既扎实覆盖Java编程的基础知识,更独具匠心地从Java8极其重要的新特性之一lambda表达式发端,带领读者一路探索和实践Java8的诸多新特性,诸如针对数据处理的Stream、并发编程中的增强部分、全新的时间/日期API,以及脚本语言在Java中的使用。  “FortheImpatient”系列风格鲜明,除悉数出自大师之手外,更以文笔轻松、易读易懂、富含生动且可用于实践的示例程序(下载源代码后可直接运行)见长。这种亲身实践的讲授模式,非常便于各阶层读者加深对技术的理解和掌握,初学者可用来参考入门,有开发经验者也可用来巩固编程核心知识,或与时俱进地把握技术发展现状与未来趋势。  《写给大忙人看的Java核心技术》适合有一定Java开发经验的工程师或者架构师阅读,也可以作为Java新特性的参考手册。   CayS.Horstmann,是名著CoreJava?,VolumesIandII的主要作者,同时也是《写给大忙人的JavaSE8》(JavaSE8fortheReallyImpatient)与《快学Scala》(Scalafortheimpatient)两本书的作者,。他还编写了一系列针对专业编程人员和计算机专业学生的书籍。他是圣荷西州立大学计算机科学专业的一名教授,也是一位Java拥护者。 第1章 基本的编程结构1
    1.1 第一个程序2
    1.1.1 “Hello,World”程序解析2
    1.1.2 编译与运行Java程序3
    1.1.3 方法调用5
    1.2 基本类型7
    1.2.1 整型7
    1.2.2 浮点类型8
    1.2.3 char型9
    1.2.4 布尔型10
    1.3 变量10
    1.3.1 变量的声明10
    1.3.2 名称10
    1.3.3 初始化11
    1.3.4 常量11
    1.4 算术操作13
    1.4.1 赋值13
    1.4.2 基本运算14
    1.4.3 数学方法15
    1.4.4 数字类型转换16
    1.4.5 关系和逻辑操作符17
    1.4.6 大数19
    1.5 字符串19
    1.5.1 字符串连接20
    1.5.2 子字符串21
    1.5.3 字符串比较21
    1.5.4 数字与字符串转换23
    1.5.5 String类API24
    1.5.6 编码点(codepoint)和编码单元(codeunit)25
    1.6 输入与输出26
    1.6.1 读取输入27
    1.6.2 格式化输出28
    1.7 控制流30
    1.7.1 分支30
    1.7.2 循环32
    1.7.3 跳出循环与继续循环34
    1.7.4 局部变量作用域36
    1.8 数组和数组列表38
    1.8.1 使用数组38
    1.8.2 构造数组39
    1.8.3 数组列表39
    1.8.4 基本类型包装类41
    1.8.5 增强的for循环41
    1.8.6 数组与数组列表的复制42
    1.8.7 数组算法43
    1.8.8 命令行参数44
    1.8.9 多维数组45
    1.9 功能分解48
    1.9.1 静态方法的声明与调用48
    1.9.2 数组参数与返回值48
    1.9.3 可变参数49
    练习50
    第2章 面向对象编程53
    2.1 使用对象54
    2.1.1 Accessor(访问器)和Mutator(更改器)方法56
    2.1.2 对象引用56
    2.2 实现类58
    2.2.1 实例变量58
    2.2.2 方法头59
    2.2.3 方法体59
    2.2.4 实例方法调用60
    2.2.5 this引用61
    2.2.6 值调用62
    2.3 构造对象63
    2.3.1 实现构造函数64
    2.3.2 重载64
    2.3.3 调用另一个构造函数65
    2.3.4 默认初始化66
    2.3.5 实例变量初始化66
    2.3.6 final实例变量67
    2.3.7 无参构造函数68
    2.4 静态变量和方法69
    2.4.1 静态变量69
    2.4.2 静态常量70
    2.4.3 静态初始块71
    2.4.4 静态方法71
    2.4.5 工厂方法73
    2.5 包73
    2.5.1 包的声明74
    2.5.2 类路径75
    2.5.3 包作用域77
    2.5.4 导入包78
    2.5.5 静态导入79
    2.6 嵌套类80
    2.6.1 静态嵌套类80
    2.6.2 内部类82
    2.6.3 内部类的特殊语法85
    2.7 文档注释86
    2.7.1 插入注释86
    2.7.2 类注释87
    2.7.3 方法注释88
    2.7.4 变量注释88
    2.7.5 通用注释89
    2.7.6 链接89
    2.7.7 包和概述注释90
    2.7.8 注释的提取90
    练习91
    第3章 接口和lambda表达式95
    3.1 接口96
    3.1.1 声明接口96
    3.1.2 实现接口97
    3.1.3 转换为接口类型99
    3.1.4 强制类型转换(cast)和instanceof操作符99
    3.1.5 继承接口100
    3.1.6 实现多个接口101
    3.1.7 常量101
    3.2 静态方法和默认方法101
    3.2.1 静态方法102
    3.2.2 默认方法102
    3.2.3 解决默认方法冲突103
    3.3 接口示例105
    3.3.1 Comparable接口105
    3.3.2 Comparator接口107
    3.3.3 Runable接口108
    3.3.4 UI(UserInterface)回调109
    3.4 lambda表达式110
    3.4.1 lambda表达式语法110
    3.4.2 函数式接口111
    3.5 方法引用和构造函数引用112
    3.5.1 方法引用113
    3.5.2 构造函数引用114
    3.6 使用lambda表达式115
    3.6.1 实现延迟执行115
    3.6.2 选择函数式接口116
    3.6.3 实现自己的函数式接口118
    3.7 lambda表达式和变量作用域119
    3.7.1 lambda表达式的作用域119
    3.7.2 访问来自闭合作用域的变量120
    3.8 高阶函数123
    3.8.1 返回函数的方法123
    3.8.2 修改函数的方法123
    3.8.3 Comparator方法124
    3.9 局部内部类125
    3.9.1 局部类125
    3.9.2 匿名类126
    练习.127
    第4章 继承与反射131
    4.1 继承一个类132
    4.1.1 父类与子类132
    4.1.2 定义和继承子类方法132
    4.1.3 方法覆盖133
    4.1.4 子类的构造134
    4.1.5 父类赋值135
    4.1.6 转换136
    4.1.7 final方法和类136
    4.1.8 抽象方法和类137
    4.1.9 受保护访问138
    4.1.10 匿名子类139
    4.1.11 继承和默认方法140
    4.1.12 带super的方法表达式141
    4.2 Object:终极父类141
    4.2.1 toString方法142
    4.2.2 equals方法144
    4.2.3 hashCode方法147
    4.2.4 克隆对象148
    4.3 枚举151
    4.3.1 枚举方法152
    4.3.2 构造函数、方法和域153
    4.3.3 实例的实现体153
    4.3.4 静态成员154
    4.3.5 switch枚举对象155
    4.4 运行时类型信息和资源156
    4.4.1 Class类156
    4.4.2 资源加载160
    4.4.3 类加载器160
    4.4.4 上下文类加载器162
    4.4.5 服务加载器164
    4.5 反射165
    4.5.1 枚举类成员165
    4.5.2 对象检查167
    4.5.3 方法调用167
    4.5.4 对象构造168
    4.5.5 JavaBeans169
    4.5.6 使用数组170
    4.5.7 代理172
    练习174
    第5章 异常、断言和日志处理177
    5.1 异常处理178
    5.1.1 异常抛出178
    5.1.2 异常继承层次179
    5.1.3 已检查异常的声明181
    5.1.4 异常捕获182
    5.1.5 try-with-resources语句183
    5.1.6 finally子句185
    5.1.7 异常重抛和链接186
    5.1.8 堆栈踪迹188
    5.1.9 Objects.requireNonNull方法189
    5.2 断言189
    5.2.1 使用断言190
    5.2.2 启用和禁用断言191
    5.3 记录日志191
    5.3.1 采用Logger192
    5.3.2 日志记录器192
    5.3.3 日志级别192
    5.3.4 其他日志记录方法193
    5.3.5 日志记录的配置项195
    5.3.6 日志处理器196
    5.3.7 过滤器和格式化器199
    练习199
    第6章 泛型编程203
    6.1 泛型类204
    6.2 泛型方法205
    6.3 类型限定206
    6.4 类型变异和通配符207
    6.4.1 子类型通配符208
    6.4.2 父类型通配符209
    6.4.3 带类型变量的通配符210
    6.4.4 无限定通配符212
    6.4.5 通配符捕获212
    6.5 Java虚拟机中的泛型213
    6.5.1 类型擦除213
    6.5.2 转换插入214
    6.5.3 桥方法215
    6.6 泛型约束216
    6.6.1 无基本类型参数217
    6.6.2 所有类型在运行时都是原始的217
    6.6.3 不能实例化类型变量218
    6.6.4 不能构造参数化类型的数组220
    6.6.5 静态上下文中的类类型变量不是有效的221
    6.6.6 类型擦除后的方法可能不冲突222
    6.6.7 异常与泛型223
    6.7 反射与泛型224
    6.7.1 Class<T>类224
    6.7.2 虚拟机中的泛型类型信息225
    练习227
    第7章 集合233
    7.1 集合类框架概要234
    7.2 迭代器238
    7.3 set240
    7.4 map241
    7.5 其他集合245
    7.5.1 Properties245
    7.5.2 位组247
    7.5.3 枚举set和枚举map248
    7.5.4 栈、队列、双端队列、优先级队列249
    7.5.5 弱哈希映射表250
    7.6 视图251
    7.6.1 范围(range)251
    7.6.2 空视图和单例视图252
    7.6.3 不可修改的视图252
    练习253
    第8章 Stream257
    8.1 从迭代到Stream操作258
    8.2 创建Stream259
    8.3 filter、map和flatMap方法261
    8.4 提取子流和组合流262
    8.5 其他流转换263
    8.6 简单归约264
    8.7 Optional类型265
    8.7.1 如何使用Optional类型值265
    8.7.2 如何不使用Optional类型值266
    8.7.3 创建Optional类型值267
    8.7.4 使用flatMap来组合可选值函数267
    8.8 收集结果268
    8.9 将结果收集到map中270
    8.10 分组和分片271
    8.11 下游收集器272
    8.12 归约操作274
    8.13 基本类型流276
    8.14 并行流278
    练习280
    第9章 输入与输出处理285
    9.1 输入/输出流:Reader和Writer286
    9.1.1 获取流对象286
    9.1.2 读取字节287
    9.1.3 写字节288
    9.1.4 字符集编码288
    9.1.5 文本输入291
    9.1.6 文本输出292
    9.1.7 读写二进制数据294
    9.1.8 随机存取文件295
    9.1.9 内存映射文件295
    9.1.10 文件锁296
    9.2 路径、文件和目录297
    9.2.1 路径297
    9.2.2 创建文件和目录299
    9.2.3 复制、移动和删除文件300
    9.2.4 访问目录内容301
    9.2.5 ZIP文件系统304
    9.3 URL连接305
    9.4 正则表达式307
    9.4.1 正则表达式语法307
    9.4.2 匹配一个或多个311
    9.4.3 分组312
    9.4.4 消除或替换匹配结果313
    9.4.5 标记314
    9.5 序列化315
    9.5.1 Serializable接口315
    9.5.2 瞬态实例变量317
    9.5.3 readObject和writeObject方法317
    9.5.4 readResolve和writeReplace方法319
    9.5.5 版本化320
    练习321
    第10章 并发编程325
    10.1 并发任务326
    10.1.1 运行任务326
    10.1.2 Future和Executor服务328
    10.2 线程安全331
    10.2.1 可见性331
    10.2.2 竞争条件333
    10.2.3 安全并发的策略336
    10.2.4 不可变类336
    10.3 并行算法337
    10.3.1 并行流338
    10.3.2 并行数组操作338
    10.4 线程安全的数据结构339
    10.4.1 ConcurrentHashMap.340
    10.4.2 阻塞队列341
    10.4.3 其他线程安全的数据结构343
    10.5 原子值344
    10.6 锁346
    10.6.1 可重入锁(ReentrantLock)347
    10.6.2 synchronized关键字348
    10.6.3 条件等待350
    10.7 线程352
    10.7.1 启动线程352
    10.7.2 线程中断353
    10.7.3 线程变量355
    10.7.4 线程的其他属性356
    10.8 异步计算356
    10.8.1 UI回调中的长期运行任务356
    10.8.2 可完成的future358
    10.9 进程361
    10.9.1 构建进程361
    10.9.2 运行进程363
    练习364
    第11章 注解371
    11.1 使用注解372
    11.1.1 注解元素372
    11.1.2 多注解和重复注解373
    11.1.3 注解声明374
    11.1.4 注解类型用途375
    11.1.5 明确接收者376
    11.2 定义注解378
    11.3 标准注解380
    11.3.1 编译相关的注解381
    11.3.2 资源管理相关的注解382
    11.3.3 元注解382
    11.4 运行时注解处理384
    11.5 源码级注解处理387
    11.5.1 注解处理器388
    11.5.2 语言模型API388
    11.5.3 使用注解生成源码389
    练习392
    第12章 日期和时间API395
    12.1 时间线396
    12.2 本地日期398
    12.3 日期调整器401
    12.4 本地时间402
    12.5 时区时间403
    12.6 格式化和解析406
    12.7 应对遗留代码409
    练习411
    第13章 国际化413
    13.1 本地化414
    13.1.1 指定本地化414
    13.1.2 默认locale417
    13.1.3 显示名称418
    13.2 数字格式化418
    13.3 货币符号419
    13.4 日期和时间格式化420
    13.5 排序和规格化422
    13.6 消息格式化424
    13.7 资源束426
    13.7.1 组织资源束426
    13.7.2 资源束类428
    13.8 字符集编码429
    13.9 首选项430
    练习432
    第14章 编译与脚本435
    14.1 编译器API435
    14.1.1 调用编译器436
    14.1.2 启动编译任务436
    14.1.3 从内存读取源文件437
    14.1.4 向内存写入字节码438
    14.1.5 捕获诊断信息440
    14.2 脚本API440
    14.2.1 获取脚本引擎440
    14.2.2 绑定441
    14.2.3 重定向输入与输出442
    14.2.4 调用脚本函数和方法443
    14.2.5 编译脚本444
    14.3 Nashorn脚本引擎445
    14.3.1 从命令行运行Nashorn445
    14.3.2 调用get、set和重载方法446
    14.3.3 构造Java对象447
    14.3.4 JavaScript和Java中的字符串449
    14.3.5 数字449
    14.3.6 使用数组450
    14.3.7 列表与映射451
    14.3.8 lambda表达式452
    14.3.9 继承Java类与实现Java接口453
    14.3.10 异常455
    14.4 shell脚本与Nashorn455
    14.4.1 执行shell命令456
    14.4.2 字符串插值456
    14.4.3 脚本输入457
    练习458
  • 内容简介:
      《写给大忙人看的Java核心技术》为经典著作CoreJava作者CayS.Horstmann的全新力作,以关键的核心技术为着眼点,以全局高度提炼语言精髓,以高浓度、高含金量的方式对Java8新特性进行细致讲解,将其沉浸于Java多年的真知灼见蕴藏于书中,既扎实覆盖Java编程的基础知识,更独具匠心地从Java8极其重要的新特性之一lambda表达式发端,带领读者一路探索和实践Java8的诸多新特性,诸如针对数据处理的Stream、并发编程中的增强部分、全新的时间/日期API,以及脚本语言在Java中的使用。  “FortheImpatient”系列风格鲜明,除悉数出自大师之手外,更以文笔轻松、易读易懂、富含生动且可用于实践的示例程序(下载源代码后可直接运行)见长。这种亲身实践的讲授模式,非常便于各阶层读者加深对技术的理解和掌握,初学者可用来参考入门,有开发经验者也可用来巩固编程核心知识,或与时俱进地把握技术发展现状与未来趋势。  《写给大忙人看的Java核心技术》适合有一定Java开发经验的工程师或者架构师阅读,也可以作为Java新特性的参考手册。
  • 作者简介:
      CayS.Horstmann,是名著CoreJava?,VolumesIandII的主要作者,同时也是《写给大忙人的JavaSE8》(JavaSE8fortheReallyImpatient)与《快学Scala》(Scalafortheimpatient)两本书的作者,。他还编写了一系列针对专业编程人员和计算机专业学生的书籍。他是圣荷西州立大学计算机科学专业的一名教授,也是一位Java拥护者。
  • 目录:
    第1章 基本的编程结构1
    1.1 第一个程序2
    1.1.1 “Hello,World”程序解析2
    1.1.2 编译与运行Java程序3
    1.1.3 方法调用5
    1.2 基本类型7
    1.2.1 整型7
    1.2.2 浮点类型8
    1.2.3 char型9
    1.2.4 布尔型10
    1.3 变量10
    1.3.1 变量的声明10
    1.3.2 名称10
    1.3.3 初始化11
    1.3.4 常量11
    1.4 算术操作13
    1.4.1 赋值13
    1.4.2 基本运算14
    1.4.3 数学方法15
    1.4.4 数字类型转换16
    1.4.5 关系和逻辑操作符17
    1.4.6 大数19
    1.5 字符串19
    1.5.1 字符串连接20
    1.5.2 子字符串21
    1.5.3 字符串比较21
    1.5.4 数字与字符串转换23
    1.5.5 String类API24
    1.5.6 编码点(codepoint)和编码单元(codeunit)25
    1.6 输入与输出26
    1.6.1 读取输入27
    1.6.2 格式化输出28
    1.7 控制流30
    1.7.1 分支30
    1.7.2 循环32
    1.7.3 跳出循环与继续循环34
    1.7.4 局部变量作用域36
    1.8 数组和数组列表38
    1.8.1 使用数组38
    1.8.2 构造数组39
    1.8.3 数组列表39
    1.8.4 基本类型包装类41
    1.8.5 增强的for循环41
    1.8.6 数组与数组列表的复制42
    1.8.7 数组算法43
    1.8.8 命令行参数44
    1.8.9 多维数组45
    1.9 功能分解48
    1.9.1 静态方法的声明与调用48
    1.9.2 数组参数与返回值48
    1.9.3 可变参数49
    练习50
    第2章 面向对象编程53
    2.1 使用对象54
    2.1.1 Accessor(访问器)和Mutator(更改器)方法56
    2.1.2 对象引用56
    2.2 实现类58
    2.2.1 实例变量58
    2.2.2 方法头59
    2.2.3 方法体59
    2.2.4 实例方法调用60
    2.2.5 this引用61
    2.2.6 值调用62
    2.3 构造对象63
    2.3.1 实现构造函数64
    2.3.2 重载64
    2.3.3 调用另一个构造函数65
    2.3.4 默认初始化66
    2.3.5 实例变量初始化66
    2.3.6 final实例变量67
    2.3.7 无参构造函数68
    2.4 静态变量和方法69
    2.4.1 静态变量69
    2.4.2 静态常量70
    2.4.3 静态初始块71
    2.4.4 静态方法71
    2.4.5 工厂方法73
    2.5 包73
    2.5.1 包的声明74
    2.5.2 类路径75
    2.5.3 包作用域77
    2.5.4 导入包78
    2.5.5 静态导入79
    2.6 嵌套类80
    2.6.1 静态嵌套类80
    2.6.2 内部类82
    2.6.3 内部类的特殊语法85
    2.7 文档注释86
    2.7.1 插入注释86
    2.7.2 类注释87
    2.7.3 方法注释88
    2.7.4 变量注释88
    2.7.5 通用注释89
    2.7.6 链接89
    2.7.7 包和概述注释90
    2.7.8 注释的提取90
    练习91
    第3章 接口和lambda表达式95
    3.1 接口96
    3.1.1 声明接口96
    3.1.2 实现接口97
    3.1.3 转换为接口类型99
    3.1.4 强制类型转换(cast)和instanceof操作符99
    3.1.5 继承接口100
    3.1.6 实现多个接口101
    3.1.7 常量101
    3.2 静态方法和默认方法101
    3.2.1 静态方法102
    3.2.2 默认方法102
    3.2.3 解决默认方法冲突103
    3.3 接口示例105
    3.3.1 Comparable接口105
    3.3.2 Comparator接口107
    3.3.3 Runable接口108
    3.3.4 UI(UserInterface)回调109
    3.4 lambda表达式110
    3.4.1 lambda表达式语法110
    3.4.2 函数式接口111
    3.5 方法引用和构造函数引用112
    3.5.1 方法引用113
    3.5.2 构造函数引用114
    3.6 使用lambda表达式115
    3.6.1 实现延迟执行115
    3.6.2 选择函数式接口116
    3.6.3 实现自己的函数式接口118
    3.7 lambda表达式和变量作用域119
    3.7.1 lambda表达式的作用域119
    3.7.2 访问来自闭合作用域的变量120
    3.8 高阶函数123
    3.8.1 返回函数的方法123
    3.8.2 修改函数的方法123
    3.8.3 Comparator方法124
    3.9 局部内部类125
    3.9.1 局部类125
    3.9.2 匿名类126
    练习.127
    第4章 继承与反射131
    4.1 继承一个类132
    4.1.1 父类与子类132
    4.1.2 定义和继承子类方法132
    4.1.3 方法覆盖133
    4.1.4 子类的构造134
    4.1.5 父类赋值135
    4.1.6 转换136
    4.1.7 final方法和类136
    4.1.8 抽象方法和类137
    4.1.9 受保护访问138
    4.1.10 匿名子类139
    4.1.11 继承和默认方法140
    4.1.12 带super的方法表达式141
    4.2 Object:终极父类141
    4.2.1 toString方法142
    4.2.2 equals方法144
    4.2.3 hashCode方法147
    4.2.4 克隆对象148
    4.3 枚举151
    4.3.1 枚举方法152
    4.3.2 构造函数、方法和域153
    4.3.3 实例的实现体153
    4.3.4 静态成员154
    4.3.5 switch枚举对象155
    4.4 运行时类型信息和资源156
    4.4.1 Class类156
    4.4.2 资源加载160
    4.4.3 类加载器160
    4.4.4 上下文类加载器162
    4.4.5 服务加载器164
    4.5 反射165
    4.5.1 枚举类成员165
    4.5.2 对象检查167
    4.5.3 方法调用167
    4.5.4 对象构造168
    4.5.5 JavaBeans169
    4.5.6 使用数组170
    4.5.7 代理172
    练习174
    第5章 异常、断言和日志处理177
    5.1 异常处理178
    5.1.1 异常抛出178
    5.1.2 异常继承层次179
    5.1.3 已检查异常的声明181
    5.1.4 异常捕获182
    5.1.5 try-with-resources语句183
    5.1.6 finally子句185
    5.1.7 异常重抛和链接186
    5.1.8 堆栈踪迹188
    5.1.9 Objects.requireNonNull方法189
    5.2 断言189
    5.2.1 使用断言190
    5.2.2 启用和禁用断言191
    5.3 记录日志191
    5.3.1 采用Logger192
    5.3.2 日志记录器192
    5.3.3 日志级别192
    5.3.4 其他日志记录方法193
    5.3.5 日志记录的配置项195
    5.3.6 日志处理器196
    5.3.7 过滤器和格式化器199
    练习199
    第6章 泛型编程203
    6.1 泛型类204
    6.2 泛型方法205
    6.3 类型限定206
    6.4 类型变异和通配符207
    6.4.1 子类型通配符208
    6.4.2 父类型通配符209
    6.4.3 带类型变量的通配符210
    6.4.4 无限定通配符212
    6.4.5 通配符捕获212
    6.5 Java虚拟机中的泛型213
    6.5.1 类型擦除213
    6.5.2 转换插入214
    6.5.3 桥方法215
    6.6 泛型约束216
    6.6.1 无基本类型参数217
    6.6.2 所有类型在运行时都是原始的217
    6.6.3 不能实例化类型变量218
    6.6.4 不能构造参数化类型的数组220
    6.6.5 静态上下文中的类类型变量不是有效的221
    6.6.6 类型擦除后的方法可能不冲突222
    6.6.7 异常与泛型223
    6.7 反射与泛型224
    6.7.1 Class<T>类224
    6.7.2 虚拟机中的泛型类型信息225
    练习227
    第7章 集合233
    7.1 集合类框架概要234
    7.2 迭代器238
    7.3 set240
    7.4 map241
    7.5 其他集合245
    7.5.1 Properties245
    7.5.2 位组247
    7.5.3 枚举set和枚举map248
    7.5.4 栈、队列、双端队列、优先级队列249
    7.5.5 弱哈希映射表250
    7.6 视图251
    7.6.1 范围(range)251
    7.6.2 空视图和单例视图252
    7.6.3 不可修改的视图252
    练习253
    第8章 Stream257
    8.1 从迭代到Stream操作258
    8.2 创建Stream259
    8.3 filter、map和flatMap方法261
    8.4 提取子流和组合流262
    8.5 其他流转换263
    8.6 简单归约264
    8.7 Optional类型265
    8.7.1 如何使用Optional类型值265
    8.7.2 如何不使用Optional类型值266
    8.7.3 创建Optional类型值267
    8.7.4 使用flatMap来组合可选值函数267
    8.8 收集结果268
    8.9 将结果收集到map中270
    8.10 分组和分片271
    8.11 下游收集器272
    8.12 归约操作274
    8.13 基本类型流276
    8.14 并行流278
    练习280
    第9章 输入与输出处理285
    9.1 输入/输出流:Reader和Writer286
    9.1.1 获取流对象286
    9.1.2 读取字节287
    9.1.3 写字节288
    9.1.4 字符集编码288
    9.1.5 文本输入291
    9.1.6 文本输出292
    9.1.7 读写二进制数据294
    9.1.8 随机存取文件295
    9.1.9 内存映射文件295
    9.1.10 文件锁296
    9.2 路径、文件和目录297
    9.2.1 路径297
    9.2.2 创建文件和目录299
    9.2.3 复制、移动和删除文件300
    9.2.4 访问目录内容301
    9.2.5 ZIP文件系统304
    9.3 URL连接305
    9.4 正则表达式307
    9.4.1 正则表达式语法307
    9.4.2 匹配一个或多个311
    9.4.3 分组312
    9.4.4 消除或替换匹配结果313
    9.4.5 标记314
    9.5 序列化315
    9.5.1 Serializable接口315
    9.5.2 瞬态实例变量317
    9.5.3 readObject和writeObject方法317
    9.5.4 readResolve和writeReplace方法319
    9.5.5 版本化320
    练习321
    第10章 并发编程325
    10.1 并发任务326
    10.1.1 运行任务326
    10.1.2 Future和Executor服务328
    10.2 线程安全331
    10.2.1 可见性331
    10.2.2 竞争条件333
    10.2.3 安全并发的策略336
    10.2.4 不可变类336
    10.3 并行算法337
    10.3.1 并行流338
    10.3.2 并行数组操作338
    10.4 线程安全的数据结构339
    10.4.1 ConcurrentHashMap.340
    10.4.2 阻塞队列341
    10.4.3 其他线程安全的数据结构343
    10.5 原子值344
    10.6 锁346
    10.6.1 可重入锁(ReentrantLock)347
    10.6.2 synchronized关键字348
    10.6.3 条件等待350
    10.7 线程352
    10.7.1 启动线程352
    10.7.2 线程中断353
    10.7.3 线程变量355
    10.7.4 线程的其他属性356
    10.8 异步计算356
    10.8.1 UI回调中的长期运行任务356
    10.8.2 可完成的future358
    10.9 进程361
    10.9.1 构建进程361
    10.9.2 运行进程363
    练习364
    第11章 注解371
    11.1 使用注解372
    11.1.1 注解元素372
    11.1.2 多注解和重复注解373
    11.1.3 注解声明374
    11.1.4 注解类型用途375
    11.1.5 明确接收者376
    11.2 定义注解378
    11.3 标准注解380
    11.3.1 编译相关的注解381
    11.3.2 资源管理相关的注解382
    11.3.3 元注解382
    11.4 运行时注解处理384
    11.5 源码级注解处理387
    11.5.1 注解处理器388
    11.5.2 语言模型API388
    11.5.3 使用注解生成源码389
    练习392
    第12章 日期和时间API395
    12.1 时间线396
    12.2 本地日期398
    12.3 日期调整器401
    12.4 本地时间402
    12.5 时区时间403
    12.6 格式化和解析406
    12.7 应对遗留代码409
    练习411
    第13章 国际化413
    13.1 本地化414
    13.1.1 指定本地化414
    13.1.2 默认locale417
    13.1.3 显示名称418
    13.2 数字格式化418
    13.3 货币符号419
    13.4 日期和时间格式化420
    13.5 排序和规格化422
    13.6 消息格式化424
    13.7 资源束426
    13.7.1 组织资源束426
    13.7.2 资源束类428
    13.8 字符集编码429
    13.9 首选项430
    练习432
    第14章 编译与脚本435
    14.1 编译器API435
    14.1.1 调用编译器436
    14.1.2 启动编译任务436
    14.1.3 从内存读取源文件437
    14.1.4 向内存写入字节码438
    14.1.5 捕获诊断信息440
    14.2 脚本API440
    14.2.1 获取脚本引擎440
    14.2.2 绑定441
    14.2.3 重定向输入与输出442
    14.2.4 调用脚本函数和方法443
    14.2.5 编译脚本444
    14.3 Nashorn脚本引擎445
    14.3.1 从命令行运行Nashorn445
    14.3.2 调用get、set和重载方法446
    14.3.3 构造Java对象447
    14.3.4 JavaScript和Java中的字符串449
    14.3.5 数字449
    14.3.6 使用数组450
    14.3.7 列表与映射451
    14.3.8 lambda表达式452
    14.3.9 继承Java类与实现Java接口453
    14.3.10 异常455
    14.4 shell脚本与Nashorn455
    14.4.1 执行shell命令456
    14.4.2 字符串插值456
    14.4.3 脚本输入457
    练习458
查看详情
您可能感兴趣 / 更多
写给大忙人看的Java核心技术
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
写给大忙人看的Java核心技术
《世界上最大的肚子》2024百班千人暑期书目学前中班名师推荐全新正版现货速发
[美]雷米·查利普(美)柏顿·萨普瑞
写给大忙人看的Java核心技术
经济学通义
[美]阿门·A.阿尔钦 (美)威廉·R.艾伦 著;[美]杰里·L.乔丹 编
写给大忙人看的Java核心技术
数字化领导力 数字化转型锦囊,领导力精进指南 一本书掌握数字化转型领导力之道
[美]艾萨克·萨科里克 著;王磊 译;颉腾文化 出品;邓斌
写给大忙人看的Java核心技术
法哲学基本原理
[美]马克·C.墨菲
写给大忙人看的Java核心技术
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
写给大忙人看的Java核心技术
杜甫传
[美]弗洛伦斯.艾思柯
写给大忙人看的Java核心技术
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
写给大忙人看的Java核心技术
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
写给大忙人看的Java核心技术
温柔亲启
[美]艾米莉·狄金森 著;[美]艾伦·路易斯·哈特、[美]玛莎·内尔·史密斯 编
写给大忙人看的Java核心技术
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
写给大忙人看的Java核心技术
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗