《Java 8高级应用与开发》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:QST青软实训编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302443520
  • 页数:431 页
图书介绍:本书深入介绍了Java高级编程的相关方面,内容涵盖文件IO流、JDBC数据库访问、Swing UI设计、高级UI组件、线程、网络编程、Java高级应用以及Java 8的新特性。书中所有代码都是基于Java 8环境下调试运行,并对Java 8的一些新特性进行全面介绍。

第1章 文件及IO流 1

任务驱动 1

学习路线 1

本章目标 2

1.1 文件 2

1.1.1 文件系统和路径 2

1.1.2 File类 2

1.1.3 FilenameFilter接口 5

1.2 IO流 6

1.2.1 流的分类 6

1.2.2 流的体系结构 8

1.3 字节流 9

1.3.1 InputStream 11

1.3.2 OutputStream 12

1.4 字符流 15

1.4.1 Reader 15

1.4.2 Writer 17

1.5 过滤流和转换流 19

1.5.1 过滤流 19

1.5.2 转换流 21

1.6 对象流 22

1.6.1 对象序列化与反序列化 22

1.6.2 ObjectInputStream和ObjectOutputStream 23

1.7 NIO 26

1.7.1 NIO概述 26

1.7.2 Buffer 27

1.7.3 Channel 29

1.7.4 NIO.2 31

1.8 贯穿任务实现 34

1.8.1 实现【任务1-1】 34

1.8.2 实现【任务1-2】 35

1.8.3 实现【任务1-3】 36

1.8.4 实现【任务1-4】 37

本章总结 40

小结 40

Q&A 40

章节练习 40

习题 40

上机 42

第2章 JDBC编程 43

任务驱动 43

学习路线 43

本章目标 44

2.1 JDBC基础 44

2.1.1 JDBC简介 44

2.1.2 JDBC驱动 45

2.1.3 JDBC API 46

2.2 数据库环境搭建 50

2.2.1 创建数据库表 50

2.2.2 设置Oracle驱动类路径 51

2.3 数据库访问 52

2.3.1 加载数据库驱动 52

2.3.2 建立数据连接 52

2.3.3 创建Statement对象 53

2.3.4 执行SQL语句 53

2.3.5 访问结果集 54

2.4 操作数据库 56

2.4.1 execute()方法 56

2.4.2 executeUpdate()和executeLargeUpdate()方法 58

2.4.3 PreparedStatement接口 60

2.4.4 CallableStatement接口 62

2.4.5 数据库访问优化 67

2.5 集元数据 73

2.5.1 DatabaseMetaData接口 73

2.5.2 ResultSetMetaData接口 74

2.6 事务处理 76

2.6.1 事务 76

2.6.2 保存点 79

2.6.3 批量更新 81

2.7 贯穿任务实现 83

2.7.1 实现【任务2-1】 83

2.7.2 实现【任务2-2】 88

2.7.3 实现【任务2-3】 90

2.7.4 实现【任务2-4】 92

本章总结 95

小结 95

Q&A 96

章节练习 96

习题 96

上机 97

第3章 Swing UI设计 98

任务驱动 98

学习路线 98

本章目标 99

3.1 GUI概述 99

3.1.1 AWT和Swing 99

3.1.2 Swing组件层次 100

3.2 容器 101

3.2.1 JFrame顶级容器 101

3.2.2 JPanel中间容器 103

3.3 布局 105

3.3.1 FlowLayout流布局 106

3.3.2 BorderLayout边界布局 108

3.3.3 GridLayout网格布局 110

3.3.4 CardLayout卡片布局 112

3.3.5 BoxLayout盒布局 114

3.3.6 NULL空布局 116

3.4 事件处理 118

3.4.1 Java事件处理机制 118

3.4.2 事件类 119

3.4.3 监听接口 121

3.4.4 事件处理步骤 122

3.4.5 键盘事件 126

3.4.6 鼠标事件 128

3.4.7 适配器 131

3.5 基本组件 133

3.5.1 Icon图标 133

3.5.2 JButton按钮 135

3.5.3 JLabel标签 137

3.5.4 文本组件 139

3.5.5 JComboBox组合框 143

3.5.6 JList列表框 146

3.5.7 JRadioButton单选按钮 148

3.5.8 JCheckBox复选框 149

3.5.9 计算器 151

3.6 贯穿任务实现 154

3.6.1 实现【任务3-1】 154

3.6.2 实现【任务3-2】 157

3.6.3 实现【任务3-3】 161

本章总结 166

小结 166

Q&A 167

章节练习 167

习题 167

上机 168

第4章 高级UI组件 169

任务驱动 169

学习路线 169

本章目标 169

4.1 对话框 170

4.1.1 JDialog对话框 170

4.1.2 JOptionPane标准对话框 175

4.1.3 JFileChooser文件对话框 180

4.1.4 JColorChooser颜色对话框 186

4.2 菜单 188

4.2.1 下拉式菜单 189

4.2.2 弹出式菜单 193

4.3 工具栏 195

4.4 表格 197

4.4.1 JTable类及相关接口 197

4.4.2 使用表格 200

4.5 树 204

4.5.1 JTree类及相关接口 204

4.5.2 使用树 207

4.6 贯穿任务实现 209

4.6.1 实现【任务4-1】 209

4.6.2 实现【任务4-2】 211

4.6.3 实现【任务4-3】 216

4.6.4 实现【任务4-4】 221

本章总结 227

小结 227

Q&A 227

章节练习 228

习题 228

上机 229

第5章 线程 230

任务驱动 230

学习路线 230

本章目标 230

5.1 线程概述 231

5.1.1 线程和进程 231

5.1.2 Java线程模型 233

5.1.3 主线程 235

5.2 创建线程 236

5.2.1 继承Thread类 237

5.2.2 实现Runnable接口 238

5.2.3 使用Callable和Future接口 239

5.3 线程生命周期 242

5.3.1 新建和就绪状态 242

5.3.2 运行和阻塞状态 243

5.3.3 死亡状态 246

5.4 线程优先级 247

5.5 线程同步 249

5.5.1 同步代码块 252

5.5.2 同步方法 254

5.5.3 同步锁 257

5.6 线程通信 261

5.7 Timer和Swing Timer 263

5.7.1 Timer 266

5.7.2 Swing Timer 268

5.8 贯穿任务实现 273

5.8.1 实现【任务5-1】 273

本章总结 274

小结 274

Q&A 275

章节练习 275

习题 275

上机 276

第6章 网络编程 277

任务驱动 277

学习路线 277

本章目标 277

6.1 网络基础 278

6.1.1 网络类型 278

6.1.2 TCP/IP协议 279

6.1.3 IP地址和端口 279

6.1.4 域名与DNS 281

6.2 Java网络API 282

6.2.1 InetAddress类 282

6.2.2 URL类 285

6.2.3 URLConnection类 287

6.2.4 URLDecoder和URLEncoder类 288

6.3 基于TCP的网络编程 289

6.3.1 Socket类 290

6.3.2 ServerSocket类 292

6.3.3 聊天室 296

6.4 贯穿任务实现 302

6.4.1 实现【任务6-1】 302

6.4.2 实现【任务6-2】 305

6.4.3 实现【任务6-3】 308

本章总结 311

小结 311

Q&A 312

章节练习 312

习题 312

上机 313

第7章 Java高级应用 314

任务驱动 314

学习路线 314

本章目标 315

7.1 类加载 315

7.1.1 Class类 315

7.1.2 类加载步骤 319

7.1.3 类加载器 320

7.1.4 ClassLoader类 321

7.2 反射 323

7.2.1 Executable抽象类 324

7.2.2 Constructor类 324

7.2.3 Method类 326

7.2.4 Field类 327

7.2.5 Parameter类 329

7.3 枚举 332

7.3.1 定义枚举类 332

7.3.2 包含属性和方法的枚举类 334

7.3.3 Enum类 337

7.4 注解 339

7.4.1 基本注解 340

7.4.2 定义注解 346

7.4.3 使用注解 347

7.4.4 元注解 349

7.5 国际化 354

7.5.1 Locale类 355

7.5.2 ResourceBundle类 358

7.6 格式化处理 361

7.6.1 数字格式化 361

7.6.2 货币格式化 363

7.6.3 日期格式化 363

7.6.4 Java 8新增的DateTimeFormatter 367

7.6.5 消息格式化 369

7.7 贯穿任务实现 372

7.7.1 实现【任务7-1】 372

7.7.2 实现【任务7-2】 373

本章总结 375

小结 375

Q&A 376

章节练习 376

习题 376

上机 377

第8章 Java 8新特性 378

任务驱动 378

学习路线 378

本章目标 378

8.1 接口的默认方法和静态方法 379

8.2 Lambda表达式 381

8.2.1 Lambda规范 381

8.2.2 Lambda应用 383

8.3 函数式接口 387

8.4 ::方法引用 388

8.5 Java 8新增类库 391

8.5.1 Optional类 391

8.5.2 Stream API 394

8.5.3 Base64类 395

8.5.4 并行数组 396

8.6 贯穿任务实现 398

8.6.1 实现【任务8-1】 398

8.6.2 实现【任务8-2】 400

本章总结 403

小结 403

Q&A 403

章节练习 403

习题 403

上机 404

附录A WindowBuilder插件 405

A.1 WindowBuilder简介 405

A.2 WindowBuilder插件安装 405

A.3 WindowBuilder插件的使用过程 410

A.4 WindowBuilder实例 412

A.4.1 窗体的创建 413

A.4.2 窗体的属性及布局 414

A.4.3 控件的添加与设置 414

A.4.4 添加按钮及事件处理 417

A.4.5 运行代码 418

附录B 数据库连接池 423

B.1 数据库连接池简介 423

B.2 DBCP数据源 423

B.3 C3P0数据源 425

附录C RowSet 428