Java技术手册(第6版)pdf

图书网 2018年12月21日21:13:5822.1K
摘要

《Java技术手册(第6版)》旨在帮助有经验的Java程序员充分使用Java 7和Java 8的功能,但也可供Java开发新手学习。书中提供了大量示例,演示了如何充分利用现代API和开发过程中的**实践。这一版进行了全面更新。第1部分快速准确地介绍了Java编程语言和Java平台。第2部分讨论了核心概念和API,展示了如何在Java环境中解决实际的编程任务。
通过学习本书,你将能够:
掌握全新的语言细节,包括Java 8的变化
使用基本的Java句法学习面向对象编程
研究泛型、枚举、注解和lambda表达式
理解面向对象设计中使用的基本技术
学习并发和内存管理,以及二者间错综复杂的关系
使用Java集合,处理常用的数据格式
深入研究Java全新的I/O API,包括异步通道
使用Nashorn在Java虚拟机中执行JavaScript代码
熟悉OpenJDK中的开发工具

Java技术手册(第6版) 内容简介

《Java技术手册(第6版)》为《Java 技术手册》的升级版,涵盖全新的Java 7 和Java 8。第1部分介绍Java 编程语言和Java 平台,主要内容有Java 环境、Java 基本句法、Java 面向对象编程、Java 类型系统、Java的面向对象设计、Java 实现内存管理和并发编程的方式。第2部分通过大量示例来阐述如何在Java 环境中完成实际的编程任务,主要内容有编程和文档约定,使用Java 集合和数组,处理常见的数据格式,处理文件和I/O,类加载、反射和方法句柄,Nashorn,以及平台工具和配置。

Java技术手册(第6版) 目录

序 xv

前言 xvi

第一部分 Java 介绍

第1 章 Java 环境介绍 2

1.1 Java 语言、JVM 和生态系统 2

1.1.1 Java 语言是什么 3

1.1.2 JVM 是什么 4

1.1.3 Java 生态系统是什么 5

1.2 Java 和JVM 简史 6

1.3 Java 程序的生命周期 7

1.4 Java 的安全性 9

1.5 Java 和其他语言比较 9

1.5.1 Java 和C 语言比较 9

1.5.2 Java 和C++ 比较 10

1.5.3 Java 和PHP 比较 10

1.5.4 Java 和JavaScript 比较 10

1.6 回应对Java 的一些批评 10

1.6.1 过度复杂 10

1.6.2 变化慢 11

1.6.3 性能问题 12

1.6.4 不安全 12

1.6.5 太注重企业 12

第2 章 Java 基本句法 13

2.1 Java 程序概览 14

2.2 词法结构 14

2.2.1 Unicode 字符集 14

2.2.2 区分大小写与空白 14

2.2.3 注释 15

2.2.4 保留字 16

2.2.5 标识符 16

2.2.6 字面量 17

2.2.7 标点符号 17

2.3 基本数据类型 17

2.3.1 布尔类型 18

2.3.2 字符类型 18

2.3.3 整数类型 20

2.3.4 浮点数类型 21

2.3.5 基本类型之间的转换 22

2.4 表达式和运算符 24

2.4.1 运算符概述 25

2.4.2 算术运算符 28

2.4.3 字符串连接运算符 30

2.4.4 递增和递减运算符 30

2.4.5 比较运算符 31

2.4.6 逻辑运算符 32

2.4.7 位运算符和位移运算符 33

2.4.8 赋值运算符 35

2.4.9 条件运算符 36

2.4.10 instanceof 操作符 36

2.4.11 特殊运算符 37

2.5 语句 38

2.5.1 表达式语句 39

2.5.2 复合语句 39

2.5.3 空语句 39

2.5.4 标注语句 40

2.5.5 局部变量声明语句 40

2.5.6 if/else 语句 41

2.5.7 switch 语句 43

2.5.8 while 语句 45

2.5.9 do 语句 45

2.5.10 for 语句 46

2.5.11 遍历语句 47

2.5.12 break 语句 48

2.5.13 continue 语句 49

2.5.14 return 语句 49

2.5.15 synchronized 语句 50

2.5.16 throw 语句 50

2.5.17 try/catch/finally 语句 51

2.5.18 处理资源的try 语句 53

2.5.19 assert 语句 54

2.6 方法 55

2.6.1 定义方法 55

2.6.2 方法修饰符 57

2.6.3 已检异常和未检异常 59

2.6.4 变长参数列表 60

2.7 介绍类和对象 61

2.7.1 定义类 62

2.7.2 创建对象 62

2.7.3 使用对象 63

2.7.4 对象字面量 63

2.7.5 lambda 表达式 64

2.8 数组 65

2.8.1 数组的类型 65

2.8.2 创建和初始化数组 67

2.8.3 使用数组 68

2.8.4 多维数组 70

2.9 引用类型 72

2.9.1 引用类型与基本类型比较 72

2.9.2 处理对象和引用副本 73

2.9.3 比较对象 74

2.9.4 装包和拆包转换 75

2.10 包和Java 命名空间 76

2.10.1 声明包 76

2.10.2 全局唯一的包名 77

2.10.3 导入类型 77

2.10.4 导入静态成员 79

2.11 Java 文件的结构 80

2.12 定义并运行Java 程序 81

2.13 小结 82

第3 章 Java 面向对象编程 83

3.1 类简介 83

3.1.1 面向对象的基本概念 83

3.1.2 其他引用类型 84

3.1.3 定义类的句法 85

3.2 字段和方法 85

3.2.1 声明字段的句法 86

3.2.2 类字段 87

3.2.3 类方法 88

3.2.4 实例字段 89

3.2.5 实例方法 89

3.2.6 this 引用的工作方式 90

3.3 创建和初始化对象 91

3.3.1 定义构造方法 91

3.3.2 定义多个构造方法 92

3.3.3 在一个构造方法中调用另一个构造方法 92

3.3.4 字段的默认值和初始化程序 93

3.4 子类和继承 95

3.4.1 扩展类 95

3.4.2 超类、对象和类层次结构 97

3.4.3 子类的构造方法 98

3.4.4 构造方法链和默认构造方法 98

3.4.5 遮盖超类的字段 100

3.4.6 覆盖超类的方法 101

3.5 数据隐藏和封装 104

3.5.1 访问控制 105

3.5.2 数据访问器方法 110

3.6 抽象类和方法 111

3.7 修饰符总结 115

第4 章 Java 类型系统 117

4.1 接口 118

4.1.1 定义接口 118

4.1.2 扩展接口 119

4.1.3 实现接口 119

4.1.4 实现多个接口 121

4.1.5 默认方法 121

4.1.6 标记接口 123

4.2 Java 泛型 123

4.2.1 介绍泛型 124

4.2.2 泛型和类型参数 125

4.2.3 菱形句法 126

4.2.4 类型擦除 126

4.2.5 通配符 127

4.2.6 编译时和运行时类型 131

4.3 枚举和注解 131

4.3.1 枚举 131

4.3.2 注解 133

4.3.3 自定义注解 134

4.3.4 类型注解 135

4.4 嵌套类型 135

4.4.1 静态成员类型 136

4.4.2 非静态成员类 138

4.4.3 局部类 141

4.4.4 词法作用域和局部变量 144

4.4.5 匿名类 145

4.4.6 嵌套类型的运作方式 147

4.5 lambda 表达式 148

4.5.1 转换lambda 表达式 150

4.5.2 方法引用 150

4.5.3 函数式编程 151

4.6 小结 152

第5 章 Java 的面向对象设计 154

5.1 Java 的值 154

5.2 java.lang.Object 类的重要方法 155

5.2.1 toString() 方法 157

5.2.2 equals() 方法 157

5.2.3 hashCode() 方法 158

5.2.4 Comparable::compareTo() 方法 158

5.2.5 clone() 方法 159

5.3 面向对象设计要略 159

5.3.1 常量 159

5.3.2 用接口还是抽象类 160

5.3.3 实例方法还是类方法 161

5.3.4 合成还是继承 163

5.3.5 字段继承和访问器 165

5.3.6 单例 167

5.4 异常和异常处理 168

5.5 Java 编程的安全性 170

第6 章 Java 实现内存管理和并发编程的方式 172

6.1 Java 内存管理的基本概念 172

6.1.1 Java 中的内存泄露 173

6.1.2 标记清除算法简介 173

6.1.3 基本标记清除算法 174

6.2 JVM 优化垃圾回收的方式 175

6.3 HotSpot 堆 178

6.3.1 回收老年代 178

6.3.2 其他回收程序 179

6.4 终结机制 180

6.5 Java 对并发编程的支持 181

6.5.1 线程的生命周期 182

6.5.2 可见性和可变性 184

6.5.3 互斥和状态保护 185

6.5.4 volatile 关键字 187

6.5.5 Thread 类中有用的方法 188

6.6 使用线程 190

6.7 小结 192

第二部分 使用Java 平台

第7 章 编程和文档约定 194

7.1 命名和大小写约定 194

7.2 实用的命名方式 196

7.3 Java 文档注释 197

7.3.1 文档注释的结构 198

7.3.2 文档注释标签 198

7.3.3 行内文档注释标签 201

7.3.4 文档注释中的交叉引用 203

7.3.5 包的文档注释 204

7.4 可移植程序的约定 205

第8 章 使用Java 集合 208

8.1 介绍集合API 208

8.1.1 Collection 接口 209

8.1.2 Set 接口 211

8.1.3 List 接口 213

8.1.4 Map 接口 217

8.1.5 Queue 接口和BlockingQueue 接口 220

8.1.6 实用方法 222

8.1.7 数组和辅助方法 224

8.2 在Java 集合框架中使用lambda 表达式 225

8.2.1 函数式方式 226

8.2.2 流API 229

8.3 小结 232

第9 章 处理常见的数据格式 233

9.1 文本 233

9.1.1 字符串的特殊句法 233

9.1.2 字符串的不可变性 235

9.1.3 正则表达式 237

9.2 数字和数学运算 240

9.2.1 Java 表示整数类型的方式 240

9.2.2 Java 中的浮点数 241

9.2.3 Java 的数学函数标准库 243

9.3 在Java 8 中处理日期和时间 245

9.3.1 介绍Java 8 的日期和时间API 245

9.3.2 查询 248

9.3.3 调节器 249

9.3.4 过时的日期和时间API 250

9.4 小结 251

第10 章 处理文件和I/O 252

10.1 Java 处理I/O 的经典方式 252

10.1.1 文件 253

10.1.2 流 254

10.1.3 Reader 和Writer 类 255

10.1.4 再次介绍TWR 256

10.1.5 I/O 经典处理方式的问题 257

10.2 Java 处理I/O 的现代方式 257

10.2.1 文件 258

10.2.2 路径 259

10.3 NIO 中的通道和缓冲区 261

10.3.1 ByteBuffer 对象 261

10.3.2 映射字节缓冲区 263

10.4 异步I/O 263

10.4.1 基于Future 接口的方式 264

10.4.2 基于回调的方式 264

10.4.3 监视服务和目录搜索 265

10.5 网络 266

10.5.1 HTTP 266

10.5.2 TCP 268

10.5.3 IP 270

第11 章 类加载、反射和方法句柄 271

11.1 类文件、类对象和元数据 271

11.1.1 类对象示例 271

11.1.2 类对象和元数据 272

11.2 类加载的各个阶段 273

11.2.1 加载 273

11.2.2 验证 274

11.2.3 准备和解析 274

11.2.4 初始化 275

11.3 安全的编程和类加载 276

11.4 应用类加载知识 277

11.5 反射 280

11.5.1 什么时候使用反射 280

11.5.2 如何使用反射 280

11.6 动态代理 284

11.7 方法句柄 285

11.7.1 MethodType 对象 285

11.7.2 方法查找 286

11.7.3 调用方法句柄 287

第12 章 Nashorn 289

12.1 介绍Nashorn 289

12.1.1 在JVM 中运行Java 之外的语言 289

12.1.2 目的 290

12.2 在Nashorn 中执行JavaScript 代码 290

12.2.1 在命令行中运行 291

12.2.2 使用Nashorn shell 291

12.2.3 在jjs 中编写脚本 293

12.3 Nashorn 和javax.script 包 297

12.4 Nashorn 的高级用法 299

12.4.1 在Nashorn 中调用Java 代码 299

12.4.2 Nashorn 对JavaScript 语言所做的扩展 302

12.4.3 实现细节 303

12.5 小结 304

第13 章 平台工具和配置 306

13.1 命令行工具 306

13.1.1 javac 307

13.1.2 java 309

13.1.3 jar 310

13.1.4 javadoc 312

13.1.5 jdeps 313

13.1.6 jps 314

13.1.7 jstat 315

13.1.8 jstatd 315

13.1.9 jinfo 316

13.1.10 jstack 317

13.1.11 jmap 317

13.1.12 javap 318

13.2 VisualVM 318

13.3 Java 8 配置 324

13.3.1 目的 324

13.3.2 紧凑配置 325

13.4 小结 328

作者简介 329

封面介绍 329

Java技术手册(第6版) 精彩文摘

1.1.1 Java语言是什么

Java 程序的源码使用 Java 语言编写。Java 是人类可读的编程语言,基于类,而且面向对象,比较易读易写(偶尔有点啰嗦)。

Java 有意识地降低了教、学成本,参考了 C++ 等语言的行业经验,尽量删除了复杂的功能,但保留了“前辈”编程语言的精粹。

总的来说,Java 的目的是为企业开发商业应用提供坚实稳定的基础。

图书网:Java技术手册(第6版)pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:2   其中:访客  2   博主  0
    • 。
      9

      看看

      • 小
        9

        试试呗