写给大忙人看的Java核心技术
查字典图书网
当前位置: 查字典 > 图书网 > 编程> 写给大忙人看的Java核心技术

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

7.3

作者: [美] Cay S·Horstmann
出版社: 电子工业出版社
译者: 杨谦
页数: 484页
定价: 108.00元
ISBN: 9787121278372



推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

内容简介:

《写给大忙人看的Java核心技术》为经典著作Core Java作者Cay S. Horstmann的全新力作,以关键的核心技术为着眼点,以全局高度提炼语言精髓,以高浓度、高含金量的方式对Java 8新特性进行细致讲解,将其沉浸于Java多年的真知灼见蕴藏于书中,既扎实覆盖Java编程的基础知识,更独具匠心地从Java 8极其重要的新特性之一lambda表达式发端,带领读者一路探索和实践Java 8的诸多新特性,诸如针对数据处理的Stream、并发编程中的增强部分、全新的时间/日期API,以及脚本语言在Java中的使用。

“For the Impatient”系列风格鲜明,除悉数出自大师之手外,更以文笔轻松、易读易懂、富含生动且可用于实践的示例程序(下载源代码后可直接运行)见长。这种亲身实践的讲授模式,非常便于各阶层读者加深对技术的理解和掌握,初学者可用来参考入门,有开发经验者也可用来巩固编程核心知识,或与时俱进地把握技术发展现状与未来趋势。

《写给大忙人看的Java核心技术》适合有一定Java开发经验的工程师或者架构师阅读,也可以作为Java新特性的参考手册。

作者简介:

Cay S. Horstmann是名著Core Java?, Volumes I and II的主要作者,同时也是《写给大忙人的Java SE 8》(Java SE 8 for the Really Impatient)与《快学Scala》(Scala for the impatient)两本书的作者,。他还编写了一系列针对专业编程人员和计算机专业学生的书籍。他是圣荷西州立大学计算机科学专业的一名教授,也是一位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类API ...................................................................................................... 24

1.5.6 编码点(code point)和编码单元(code unit) ........................................... 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(User Interface)回调 ............................................................................. 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 JavaBeans ....................................................................................................... 169

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 采用Logger ..................................................................................................... 192

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 set ............................................................................................................................... 240

7.4 map .......................................................................................................................... 241

7.5 其他集合 ......................................................................................................... 245

7.5.1 Properties ........................................................................................................ 245

7.5.2 位组 ................................................................................................................ 247

7.5.3 枚举set和枚举map ......................................................................................... 248

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章 Stream....................................................................................................... 257

8.1 从迭代到Stream操作 .............................................................................................. 258

8.2 创建Stream .............................................................................................................. 259

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和Writer ................................................................................. 286

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 可完成的future .......................................................................................... 358

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 语言模型API.............................................................................................. 388

11.5.3 使用注解生成源码 .................................................................................... 389

练习 ............................................................................................. 392

第12章 日期和时间API......................................................................................... 395

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 默认locale .................................................................................................. 417

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 编译器API ................................................................................................................ 435

14.1.1 调用编译器 ................................................................................................ 436

14.1.2 启动编译任务 ............................................................................................ 436

14.1.3 从内存读取源文件 .................................................................................... 437

14.1.4 向内存写入字节码 .................................................................................... 438

14.1.5 捕获诊断信息 ............................................................................................ 440

14.2 脚本API .................................................................................................................... 440

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 从命令行运行Nashorn .............................................................................. 445

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脚本与Nashorn .............................................................................. 455

14.4.1 执行shell命令 ............................................................................................ 456

14.4.2 字符串插值 ................................................................................................ 456

14.4.3 脚本输入 .................................................................................................... 457

练习 .................................................................................................... 458

展开全文
热门标签:
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •