《深入理解Java 7 核心技术与最佳实践》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:成富著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111380399
  • 页数:452 页
图书介绍:本书的主要内容分为两大部分:第一部分主要针对Java 7中新增的和改进的功能特性,包括新的语法特性、动态语言支持、I/O、国际化和本地化、用户界面等方面的内容;第二部分的内容是对Java技术中的核心技术进行了深入的探讨,包括Java虚拟机、字节代码操纵、类加载器、对象生命周期、多线程、并发、泛型、安全,等等。本书针对的是有有一定基础的Java开发者,它有两大特色:第一,抓住了Java 7这个热点话题;第二,关于Java中核心技术的探讨的内容会让很多开发者感兴趣。

第1章 Java 7语法新特性 1

1.1 Coin项目介绍 1

1.2 在switch语句中使用字符串 2

1.2.1 基本用法 2

1.2.2 实现原理 3

1.2.3 枚举类型 5

1.3 数值字面量的改进 5

1.3.1 二进制整数字面量 6

1.3.2 在数值字面量中使用下划线 6

1.4 优化的异常处理 7

1.4.1 异常的基础知识 7

1.4.2 创建自己的异常 8

1.4.3 处理异常 12

1.4.4 Java 7的异常处理新特性 14

1.5 try-with-resources语句 17

1.6 优化变长参数的方法调用 19

1.7 小结 21

第2章 Java语言的动态性 22

2.1 脚本语言支持API 22

2.1.1 脚本引擎 23

2.1.2 语言绑定 24

2.1.3 脚本执行上下文 25

2.1.4 脚本的编译 27

2.1.5 方法调用 28

2.1.6 使用案例 29

2.2 反射API 31

2.2.1 获取构造方法 32

2.2.2 获取域 34

2.2.3 获取方法 34

2.2.4 操作数组 35

2.2.5 访问权限与异常处理 36

2.3 动态代理 36

2.3.1 基本使用方式 36

2.3.2 使用案例 40

2.4 动态语言支持 42

2.4.1 Java语言与Java虚拟机 43

2.4.2 方法句柄 44

2.4.3 invokedynamic指令 66

2.5 小结 73

第3章 Java I/O 75

3.1 流 75

3.1.1 基本输入流 76

3.1.2 基本输出流 77

3.1.3 输入流的复用 78

3.1.4 过滤输入输出流 80

3.1.5 其他输入输出流 81

3.1.6 字符流 81

3.2 缓冲区 82

3.2.1 基本用法 83

3.2.2 字节缓冲区 84

3.2.3 缓冲区视图 86

3.3 通道 87

3.3.1 文件通道 88

3.3.2 套接字通道 93

3.4 NIO.2 98

3.4.1 文件系统访问 98

3.4.2 zip/jar文件系统 106

3.4.3 异步I/O通道 108

3.4.4 套接字通道绑定与配置 111

3.4.5 IP组播通道 111

3.5 使用案例 113

3.6 小结 115

第4章 国际化与本地化 117

4.1 国际化概述 117

4.2 Unicode 118

4.2.1 Unicode编码格式 119

4.2.2 其他字符集 124

4.2.3 Java与Unicode 124

4.3 Java中的编码实践 125

4.3.1 Java NIO中的编码器和解码器 126

4.3.2 乱码问题详解 130

4.4 区域设置 133

4.4.1 IETF BCP 47 134

4.4.2 资源包 135

4.4.3 日期和时间 143

4.4.4 数字和货币 144

4.4.5 消息文本 146

4.4.6 默认区域设置的类别 148

4.4.7 字符串比较 148

4.5 国际化与本地化基本实践 149

4.6 小结 152

第5章 图形用户界面 153

5.1 Java图形用户界面概述 153

5.2 AWT 156

5.2.1 重要组件类 156

5.2.2 任意形状的窗口 157

5.2.3 半透明窗口 158

5.2.4 组件混合 159

5.3 Swing 159

5.3.1 重要组件类 159

5.3.2 JLayer组件和LayerUI类 161

5.4 事件处理与线程安全性 163

5.4.1 事件处理 163

5.4.2 事件分发线程 165

5.4.3 SwingWorker类 167

5.4.4 SecondaryLoop接口 169

5.5 界面绘制 170

5.5.1 AWT中的界面绘制 170

5.5.2 Swing中的绘制 171

5.6 可插拔式外观样式 172

5.7 JavaFX 175

5.7.1 场景图 175

5.7.2 变换 177

5.7.3 动画效果 177

5.7.4 FXML 179

5.7.5 CSS外观描述 181

5.7.6 Web引擎与网页显示 182

5.8 使用案例 183

5.9 小结 185

第6章 Java 7其他重要更新 186

6.1 关系数据库访问 186

6.1.1 使用try-with-resources语句 186

6.1.2 数据库查询的默认模式 187

6.1.3 数据库连接超时时间与终止 188

6.1.4 语句自动关闭 189

6.1.5 RowSet实现提供者 190

6.2 java.lang包的更新 191

6.2.1 基本类型的包装类 191

6.2.2 进程使用 192

6.2.3 Thread类的更新 194

6.3 Java实用工具类 195

6.3.1 对象操作 195

6.3.2 正则表达式 197

6.3.3 压缩文件处理 200

6.4 JavaBeans组件 201

6.4.1 获取组件信息 201

6.4.2 执行语句和表达式 202

6.4.3 持久化 202

6.5 小结 203

第7章 Java虚拟机 205

7.1 虚拟机基本概念 205

7.2 内存管理 206

7.3 引用类型 208

7.3.1 强引用 209

7.3.2 引用类型基本概念 211

7.3.3 软引用 213

7.3.4 弱引用 215

7.3.5 幽灵引用 217

7.3.6 引用队列 220

7.4 Java本地接口 221

7.4.1 JNI基本用法 221

7.4.2 Java程序中集成C/C++代码 225

7.4.3 在C/C++程序中启动Java虚拟机 227

7.5 HotSpot虚拟机 228

7.5.1 字节代码执行 229

7.5.2 垃圾回收 229

7.5.3 启动参数 235

7.5.4 分析工具 236

7.5.5 Java虚拟机工具接口 241

7.6 小结 244

第8章 Java源代码和字节代码操作 245

8.1 Java字节代码格式 245

8.1.1 基本格式 246

8.1.2 常量池的结构 248

8.1.3 属性 249

8.2 动态编译Java源代码 249

8.2.1 使用javac工具 250

8.2.2 Java编译器API 251

8.2.3 使用Eclipse JDT编译器 254

8.3 字节代码增强 257

8.3.1 使用ASM 258

8.3.2 增强代理 267

8.4 注解 271

8.4.1 注解类型 271

8.4.2 创建注解类型 273

8.4.3 使用注解类型 274

8.4.4 处理注解 275

8.5 使用案例 284

8.6 小结 286

第9章 Java类加载器 287

9.1 类加载器概述 287

9.2 类加载器的层次结构与代理模式 288

9.3 创建类加载器 290

9.4 类加载器的隔离作用 294

9.5 线程上下文类加载器 296

9.6 Class.forName方法 298

9.7 加载资源 299

9.8 Web应用中的类加载器 301

9.9 OSGi中的类加载器 303

9.9.1 OSGi基本的类加载器机制 303

9.9.2 Equinox框架的类加载实现机制 303

9.9.3 Equinox框架嵌入到Web容器中 306

9.10 小结 308

第10章 对象生命周期 309

10.1 Java类的链接 309

10.2 Java类的初始化 311

10.3 对象的创建与初始化 312

10.4 对象终止 314

10.5 对象复制 318

10.6 对象序列化 322

10.6.1 默认的对象序列化 324

10.6.2 自定义对象序列化 326

10.6.3 对象替换 329

10.6.4 版本更新 330

10.6.5 安全性 331

10.6.6 使用Externalizable接口 332

10.7 小结 334

第11章 多线程与并发编程实践 335

11.1 多线程 335

11.1.1 可见性 336

11.1.2 Java内存模型 339

11.1.3 volatile关键词 340

11.1.4 final关键词 341

11.1.5 原子操作 342

11.2 基本线程同步方式 343

11.2.1 synchronized关键词 343

11.2.2 Object类的wait、notify和notifyAll方法 344

11.3 使用Thread类 346

11.3.1 线程状态 346

11.3.2 线程中断 347

11.3.3 线程等待、睡眠和让步 348

11.4 非阻塞方式 349

11.5 高级实用工具 352

11.5.1 高级同步机制 352

11.5.2 底层同步器 355

11.5.3 高级同步对象 357

11.5.4 数据结构 363

11.5.5 任务执行 365

11.6 Java SE 7新特性 368

11.6.1 轻量级任务执行框架fork/join 368

11.6.2 多阶段线程同步工具 370

11.7 ThreadLocal类 373

11.8 小结 374

第12章 Java泛型 375

12.1 泛型基本概念 375

12.2 类型擦除 378

12.3 上界和下界 382

12.4 通配符 384

12.5 泛型与数组 385

12.6 类型系统 388

12.7 覆写与重载 391

12.7.1 覆写对方法类型签名的要求 391

12.7.2 覆写对返回值类型的要求 395

12.7.3 覆写对异常声明的要求 396

12.7.4 重载 396

12.8 类型推断和<>操作符 397

12.9 泛型与反射API 400

12.10 使用案例 402

12.11 小结 403

第13章 Java安全 405

13.1 Java安全概述 405

13.2 用户认证 406

13.2.1 主体、身份标识与凭证 406

13.2.2 登录 407

13.3 权限控制 415

13.3.1 权限、策略与保护域 416

13.3.2 访问控制权限 418

13.3.3 特权动作 420

13.3.4 访问控制上下文 421

13.3.5 守卫对象 423

13.4 加密与解密、报文摘要和数字签名 424

13.4.1 Java密码框架 424

13.4.2 加密与解密 425

13.4.3 报文摘要 427

13.4.4 数字签名 428

13.5 安全套接字连接 430

13.5.1 SSL协议 431

13.5.2 HTTPS 432

13.6 使用案例 434

13.7 小结 437

第14章 超越Java 7 438

14.1 lambda表达式 438

14.1.1 函数式接口 439

14.1.2 lambda表达式的语法 440

14.1.3 目标类型 440

14.1.4 词法作用域 441

14.1.5 方法引用 442

14.1.6 接口的默认方法 443

14.2 Java平台模块化 444

14.3 Java SE 8的其他更新 445

14.4 小结 445

附录A OpenJDK 446

附录B Java简史 448