《Java 7编程高级进阶》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)萨朗著;曹如进,张方勇译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302313625
  • 页数:547 页
图书介绍:本书内容包括Java语言的基本语法、操作符、控制流程、数组、类、继承等基础知识,类的高级特性、异常处理、枚举、自动装箱、泛型、输入与输出、线程、网络编程、GUI编程、Applets、集合、字符串、实体类、JavaFX、JDK 7、NetBeans等高级话题。

第1章Java简介 1

1.1为什么使用Java 2

1.2什么是Java 2

1.3 Java虚拟机 3

1.4 Java特性 3

1.4.1体积小 4

1.4.2简单易学 4

1.4.3面向对象 4

1.4.4兼具编译与解释特性 4

1.4.5平台无关 5

1.4.6鲁棒且安全 6

1.4.7支持多线程 7

1.4.8动态特性 7

1.5 Java的演变过程 7

1.5.1 JDK 1.0(1996年1月23日):代号Oak 8

1.5.2 JDK 1.1(1997年2月19日 8

1.5.3 JDK 1.2(1998年12月8日):代号Playground 10

1.5.4 JDK 1.3(2000年5月8日):代号Kestrel 11

1.5.5 JDK 1.4(2002年2月6日):代号Merlin 12

1.5.6 JDK 5.0(2004年9月30日):代号Tiger 12

1.5.7 JDK SE 6(2006年12月11日):代号Mustang 13

1.5.8 JDK SE 7(2011年7月7日):代号 Dolphin 13

1.6小结 14

第2章 数组 15

2.1数组 16

2.1.1声明数组 16

2.1.2创建数组 17

2.1.3访问和修改数组元素 18

2.2初始化数组 19

2.2.1在运行时初始化 19

2.2.2使用数组字面量初始化 20

2.3 for-each循环 23

2.4多维数组 24

2.4.1二维数组 24

2.4.2初始化二维数组 25

2.4.3使用for-each结构进行循环 28

2.5 n维数组 29

2.6非矩形数组 29

2.7几样好东西 30

2.7.1确定数组长度 31

2.7.2复制数组 32

2.7.3找出数组的类表示 33

2.8小结 34

第3章类 35

3.1面向对象的概念 36

3.1.1面向对象编程的特性 36

3.1.2面向对象编程的好处 38

3.2类 38

3.2.1定义类 38

3.2.2定义Point类 39

3.2.3使用类 40

3.2.4访问/修改字段 40

3.2.5类的示例程序 40

3.2.6声明方法 41

3.2.7对象的内存表示 44

3.3信息隐藏 44

3.4封装 48

3.5声明构造函数 49

3.5.1默认构造函数 52

3.5.2构造函数的定义规则 52

3.6源文件布局 52

3.6.1 package语句 53

3.6.2 import语句 54

3.7目录布局和包 55

3.8小结 56

第4章 继承 57

4.1为什么需要继承 58

4.2什么是继承 58

4.3定义单级继承 61

4.3.1多级继承介绍 62

4.3.2编写多级继承程序 62

4.4多态 67

4.4.1创建异构对象集合 68

4.4.2展示异构集合的程序示例 68

4.4.3检测对象类型 75

4.4.4继承层次结构中的类型 76

转换规则 76

4.4.5防止方法重写 77

4.4.6防止子类化 77

4.5小结 77

第5章 对象创建与成员可见性 79

5.1实例化子类 80

5.1.1对象的创建过程 80

5.1.2调用超类构造函数 82

5.1.3方法重载 86

5.1.4方法重载的规则 87

5.2创建复制构造函数 88

5.3 final关键字 89

5.3.1 final类 89

5.3.2 final方法 90

5.3.3 final变量 91

5.3.4 final类变量 92

5.4理解对象可见性规则 93

5.4.1 public修饰符 95

5.4.2 private修饰符 97

5.4.3 protected修饰符 97

5.4.4默认修饰符 99

5.4.5关于继承的一些规则 100

5.5小结 100

第6章static修饰符和接口 101

6.1 static关键字 102

6.1.1静态字段 102

6.1.2静态方法 105

6.1.3静态初始化器 110

6.2接口 113

6.2.1现实生活中的接口示例 115

6.2.2理解接口语法 117

6.2.3通过示例理解接口 118

6.2.4扩展接口 119

6.2.5实现多个接口 122

6.2.6联合接口 125

6.2.7接口的几个要点 126

6.3抽象类 126

6.4小结 128

第7章 嵌套类 129

7.1嵌套类 130

7.1.1使用嵌套类的原因 130

7.1.2嵌套类的分类 131

7.1.3演示内部类的用法 132

7.1.4从外部访问内部类 134

7.1.5访问遮蔽变量 135

7.1.6重要注意事项 136

7.2成员类 137

7.2.1局部类 137

7.2.2在方法作用域内定义内部类 138

7.2.3局部类的几个要点 139

7.3匿名类 139

7.3.1创建匿名类 141

7.3.2使用匿名类的限制 141

7.3.3编译的匿名类 141

7.3.4使用匿名类的准则 141

7.4小结 142

第8章 异常处理 143

8.1什么是异常 145

8.1.1错误类型 145

8.1.2非致命错误 145

8.1.3 try-catch语句 147

8.1.4异常的分类 148

8.1.5结合异常处理程序 152

8.1.6运行时如何匹配catch块 153

8.2 finally语句 153

8.2.1使用trynally块的准则 154

8.2.2使用try/catch/finally块的规则 156

8.2.3带资源的try语句 156

8.3被检查的异常/未检查的异常 157

8.3.1 throws结构 157

8.3.2抛出多个异常 160

8.4自定义异常 160

8.4.1 throw语句 162

8.4.2重新抛出异常 162

8.4.3 throw和throws关键字之间的区别 163

8.4.4 Java SE 7中的final Re-throw 163

8.5在重写方法中声明异常 164

8.6打印堆栈跟踪 166

8.7异步异常 168

8.8使用异常的指导原则 168

8.9小结 169

第9章Java I/O 171

9.1输入/输出流 172

9.2 1/O类层次结构 172

9.2.1字节流 173

9.2.2检测文件长度 174

9.2.3 InputStream类的方法 177

9.2.4 OutputStream类 178

9.2.5文件复制程序 178

9.2.6 OutputStream类的方法 180

9.3字符流 181

9.3.1文件查看工具 182

9.3.2 BufferedReader和 BufferedWriter类 184

9.3.3字节流与字符流 185

9.3.4链接流 185

9.3.5行计数程序 186

9.3.6文件级联程序 187

9.4访问主机文件系统 189

9.4.1目录列举程序 189

9.4.2过滤目录列表 190

9.5读/写对象 191

9.6小结 193

第10章 高级I/O 195

10.1面向字节的流类 196

10.1.1 PushbackInputStream类 201

10.1.2 SequenceInputStream类 203

10.1.3 PrintStream类 207

10.2面向字符的流类 208

10.2.1 CharArrayReader/ CharArrayWriter类 208

10.2.2 Console类 208

10.2.3 StreamTokenizer类 210

10.3面向对象的流 213

10.3.1 Externalizable接口 213

10.3.2嵌套对象的序列化 217

10.3.3对象版本化 219

10.4小结 221

第11章 枚举、自动装箱和注解 223

11.1类型安全的枚举 224

11.1.1为枚举创建整数模式 224

11.1.2 enum类型 224

11.1.3序列化enum类型 230

11.2自动装箱 232

11.2.1封装类 232

11.2.2 J2SE 5.0中增加的一些特性 235

11.2.3自动装箱/拆箱 238

11.3注解 239

11.3.1内置的注解 240

11.3.2声明注解 243

11.3.3为注解添加注解 246

11.4小结 254

第12章 泛型 255

12.1泛型简介 256

12.1.1什么是泛型 256

12.1.2为什么需要使用泛型 256

12.1.3泛型示例程序 258

12.1.4类型安全 261

12.2创建参数化的Stack类 261

12.2.1声明语法 262

12.2.2泛型类Stack 262

12.2.3检查中间代码 263

12.2.4测试Stack泛型类 264

12.3限定类型 267

12.3.1使用通配符 268

12.3.2限定通配符 270

12.3.3原生类型 272

12.4关于泛型类的更多内容 272

12.4.1带有两个类型参数的类 272

12.4.2类型转换 274

12.4.3比较和赋值类型参数 275

12.4.4泛型方法 275

12.4.5 声明泛型接口 276

12.5泛型约束 276

12.5.1创建数组 276

12.5.2实例化类型参数 277

12.5.3 static关键字的使用 277

12.6小结 278

第13章 事件处理和构建GUI 279

13.1事件处理模型 280

13.2委托事件模型 282

13.2.1事件源 283

13.2.2事件监听器 283

13.2.3事件的处理顺序 284

13.2.4注册多个事件源 284

13.2.5事件类型 285

13.3构建GUI应用程序 285

13.3.1创建用户界面 286

13.3.2按钮控件的用法演示 286

13.3.3编辑控件演示 290

13.3.4列表框控件演示 295

13.4小结 301

第14章 创建布局 303

14.1布局管理器 304

14.1.1布局管理器的类型 304

14.1.2构建GUI 305

14.1.3布局管理器的工作原理 306

14.2布局管理器的用法 306

14.2.1 BorderLayout 306

14.2.2使用NetBeans工具构建GUI 307

14.2.3 FlowLayout 312

14.2.4 CardLayout 314

14.2.5 GridLayout 317

14.2.6 GridBagLayout 318

12.2.7 BoxLayout 324

14.3标签式对话框 328

14.4高级布局管理器 331

14.5小结 332

第15章 图形和用户手势处理 333

15.1 applet的基础知识 334

15.1.1创建你的第一个applet 335

15.1.2运行applet 335

15.1.3 AppletViewer的用法 336

15.2理解applet的生命周期方法 337

15.2.1鼠标事件的处理 338

15.2.2创建弹出式菜单 344

15.2.3定制绘图颜色 349

15.2.4处理键盘事件 356

15.3小结 360

第16章 集合框架 361

16.1 Java的集合框架 362

16.2集合框架的用处 362

16.3集合框架提供了什么 363

16.4集合框架的接口 363

16.5集合框架的各种实现类 365

16.5.1 List数据结构 365

16.5.2 List接口的可选操作 368

16.5.3 Set数据结构 369

16.5.4 Queue数据结构 375

16.5.5 Map数据结构 377

16.6算法 380

16.7小结 383

第17章 线程 385

17.1进程和线程 387

17.1.1线程状态 387

17.1.2 JVM线程处理的实现 389

17.1.3守护线程和非守护线程 391

17.2创建线程 391

17.2.1创建你的第一个线程应用程序 392

17.2.2创建非守护线程 395

17.2.3 Thread类的构造函数 397

17.2.4 Thread类的静态方法 397

17.2.5线程的基本操作 398

17.3线程同步 405

17.3.1球桶转移 405

17.3.2生产者/消费者问题 408

17.3.3对象锁 412

17.3.4何时进行同步 413

17.3.5死锁 414

17.3.6死锁的解决方法 415

17.4小结 418

第18章 阻塞队列和同步器 419

18.1阻塞队列 421

18.1.1阻塞队列的特征 421

18.1.2 BlockingQueue接口 422

18.1.3 BlockingQueue接口的实现 422

18.1.4股票交易系统 424

18.1.5 LinkedTransferQueue示例 428

18.2同步器 430

18.2.1信号量 430

18.2.2屏障 434

18.2.3倒计数闭锁 437

18.2.4移相器 441

18.2.5交换器 444

18.3小结 450

第19章Callable、Future、Executors与分支/合并框架 451

19.1 Callable和Future接口 452

19.1.1 Callable接口 452

19.1.2 Future接口 453

19.1.3 Callable和Future如何运作 453

19.1.4在并行大规模任务中使用Callable接口 454

19.1.5 FutureTask类 458

19.1.6创建可取消任务 459

19.2 Executors类 463

19.2.1创建线程池以进行任务调度 464

19.2.2 ScheduledExecutor- Service类 464

19.2.3演示任务的调度执行 465

19.2.4获取首个已结束任务的运行结果 468

19.2.5演示ExecutorCompletion- Service类 468

19.3分支/合并框架 472

19.3.1 ForkJoinPool类 473

19.3.2 ForkJoinTask类 474

19.3.3对大型浮点数数组排序 474

19.4线程安全集合 479

19.5 ThreadLocalRandom类 479

19.6小结 480

第20章 网络编程 481

20.1联网 482

20.1.1简单的首页读取器 483

20.1.2 URL类 486

20.1.3 URLConnection类 487

20.1.4网页读取器 487

20.1.5 HttpCookie类 488

20.1.6监测cookie 489

20.2编写服务器应用程序 492

20.3服务多个客户端 496

20.3.1同时服务多个客户端 496

20.3.2运行EchoMultiServer应用程序 499

20.3.3测试EchoMultiServer应用程序 499

20.4编写文件存储服务器应用程序 501

20.4.1云存储服务器 502

20.4.2云存储客户端 506

20.4.3测试文件上传/下载工具 508

20.5 InetAddress类 509

20.6广播消息 511

20.6.1编写股票报价服务器 511

20.6.2编写股票交易客户端 515

20.6.3运行服务器与客户端 516

20.6.4支持SCTP 517

20.7小结 518

第21章 工具类 519

21.1 String类 520

21.1.1几个重要方法 520

21.1.2 String方法的实战演示 521

21.1.3字符串的比较 524

21.1.4创建格式化输出 524

21.2 Calendar类 527

21.2.1 GregondanCalendar 类的方法 527

21.2.2开发用于本地时间转换的应用程序 528

21.3内省和反射 532

21.3.1 Class类 534

21.3.2 Mehod类 535

21.3.3类浏览应用程序 536

21.3.4内省测试应用程序 537

21.3.5类浏览器 538

21.3.6缺点 546

21.4展望 546

21.4小结 547