《Java语言程序设计 进阶篇》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Y.DanielLiang主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:7111233689
  • 页数:525 页
图书介绍:本书是Java语言的经典教材,从计算机基础知识到Java的高级GUI、异常处理、多线程、集合构架、网络和Web程序设计,以及数据库程序设计等方面进行全面介绍。内容详尽,循序渐进,可读性强。全书分8部分,以示例讲解解决问题的技巧,提供大量的程序清单和相应的提示,帮助读者掌握编程技术,并应用所学的技术解决实际应用程序开发中遇到的问题。本书适合作为高等院校相关专业的本科生和研究生的教材,也可供相关技术人员和专业人士参考使用。

第20章 线性表、堆栈、队列、树和堆 2

20.1引言 2

20.2线性表 2

20.2.1数组线性表 5

20.2.2链表 10

20.3栈和队列 16

20.4二叉树 18

20.4.1二叉树的表示 18

20.4.2在二叉查找树中插入元素 19

20.4.3二叉树的遍历 20

20.4.4二叉树的类 20

20.5堆 23

20.5.1堆的表示 24

20.5.2删除根结点 24

20.5.3添加一个新结点 25

20.5.4 Heap类 25

20.6优先队列 27

第21章 泛型 32

21.1引言 32

21.2动机 32

21.3声明泛型类和接口 33

21.4泛型方法 35

21.5原始类型和向后兼容 36

21.6通配符 38

21.7重要事实 40

21.8避免不安全的原始类型 40

21.9实例学习:泛型矩阵类(可选) 42

第22章 Java集合架构 48

22.1引言 48

22.2 Collection接口和Abstract- Collection类 49

22.3规则集 50

22.3.1散列集HashSet 51

22.3.2链式散列集LinkedHashSet 52

22.3.3树形集 53

22.4比较器接口Comparator 54

22.5线性表 55

22.6线性表和集合的静态方法 59

22.7 向量类Vector和栈类Stack 61

22.8队列和优先队列 62

22.9图(可选) 64

22.10单一和不可变的集合和图 68

第23章 算法效率和排序 74

23.1引言 74

23.2估计算法效率 74

23.2.1 O符号 75

23.2.2分析二分查找 75

23.2.3分析选择排序 75

23.2.4分析插入排序 76

23.2.5分析汉诺塔 76

23.2.6比较常用增长函数 76

23.3冒泡排序 77

23.4归并排序 78

23.5快速排序 81

23.6堆排序 84

23.6.1由堆对数组排序 85

23.6.2创建初始堆 86

23.6.3堆排序的实现 87

23.6.4堆排序分析 88

23.7外部排序 88

23.7.1实现第一步 89

23.7.2实现第二步 90

23.7.3合并两步 91

第24章 多线程 98

24.1引言 98

24.2线程的概念 98

24.3创建任务和线程 99

24.4 Thread类 101

24.5举例:闪烁文本 103

24.6 GUI事件分发线程 104

24.7实例学习:带音频的时钟(可选) 105

24.8线程池 108

24.9线程同步 110

24.9.1 synchronized关键字 112

24.9.2同步语句 112

24.10利用加锁同步(可选) 113

24.11 线程间协作(可选) 115

24.12实例学习:生产者/消费者(可选) 118

24.13阻塞队列(可选) 121

24.14信号量(可选) 122

24.15避免死锁 123

24.16线程的状态 124

24.17同步集合 125

24.18进度条JProgressBar(可选) 125

第25章 网络 132

25.1引言 132

25.2客户端/服务器计算 132

25.2.1服务器套接字 133

25.2.2客户端套接字 133

25.2.3通过套接字进行数据传输 134

25.2.4客户端/服务器举例 134

25.3 InetAddress类 138

25.4服务多客户 139

25.5 applet客户端 141

25.6发送和接收对象 144

25.7从Web服务器上读取文件 148

25.8 JEditorPane类 151

25.9实例学习:分布式三子棋游戏(可选) 152

25.10数据报套接字(可选) 163

25.10.1 DatagramPacket类和DatagramSocket类 163

25.10.2数据报程序设计 164

第26章 国际化 173

26.1简介 173

26.2 Locale类 173

26.3显示日期和时间 175

26.3.1 TimeZone类 175

26.3.2 DateFormat类 175

26.3.3 SimpleDateFormat类 176

26.3.4 DateFormatSymbols类 177

26.3.5举例:显示国际时钟 177

26.3.6举例:显示日历 180

26.4数字格式化 185

26.4.1普通数字格式 186

20.4.2货币格式 187

26.4.3百分数格式 187

26.4.4数字的转换 187

26.4.5数字格式类DecimalFormat 187

26.4.6举例:格式化数字 188

26.5资源包(可选) 191

26.6字符编码(可选) 197

第27章JavaBeans和Bean事件 204

27.1引言 204

27.2 JavaBeans 204

27.3 Bean属性 205

27.3.1属性的命名方式 205

27.3.2属性和数据域 205

27.4Java事件模型回顾 206

27.4.1事件类和事件监听器接口 206

27.4.2源组件 206

27.4.3监听器组件 207

27.5创建自定义源组件 208

27.6创建自定义事件组(可选) 212

第28章 容器、布局管理器和边框 220

28.1引言 220

28.2 Swing容器的结构 220

28.2.1框架JFrame 221

28.2.2 applet容器JApplet 221

28.2.3面板JPanel 222

28.3布局管理器 222

28.3.1布局管理器CardLayout 223

28.3.2布局管理器GridBagLayout(可选) 226

28.3.3不使用布局管理器 229

28.3.4布局管理器BoxLayout 231

28.3.5布局管理器OverlayLayout(可选) 234

28.3.6布局管理器SpringLayout (可选) 236

28.4创建自定义布局管理器 238

28.5滚动窗格JScrollPane 242

28.6选项卡JTabbedPane 246

28.7分隔窗格JSplitPane 247

28.8 Swing边框 250

28.9插件式外观(可选) 256

第29章菜单、工具栏、对话框和内部框架 262

29.1引言 262

29.2菜单 262

29.2.1创建菜单 262

29.2.2图标、热键和快捷键 264

29.2.3举例:使用菜单 265

29.3弹出式菜单 268

29.4工具栏JToolBar 270

29.5使用Action接口处理行为事件 271

29.6对话框JOptionPane 274

29.6.1消息、对话框 275

29.6.2确认对话框 276

29.6.3输入对话框 277

29.6.4选项对话框 278

29.6.5举例:创建JOptionPane对话框 278

29.7创建自定义对话框 280

29.8颜色对话框JColorChooser 283

29.9 文件对话框JFileChooser 285

29.10创建内部框架(可选) 289

第30章MVC和Swing模型 296

30.1引言 296

30.2模型-视图-控件 296

30.3 MVC的变形 302

30.4 Swing的模型-视图-控件结构 302

30.5微调文本域JSpinner 304

30.6微调文本域模型和编辑器 305

30.6.1微调文本域列表模型 SpinnerListModel 306

30.6.2微调文本域数值模型 SpinnerNumberModel 306

30.6.3微调文本域日期模型 SpinnerDateModel 307

30.6.4微调文本域编辑器 308

30.6.5举例:使用微调文本域模型和编辑器 308

30.7列表框JList 311

30.7.1 JList的构造方法、属性和方法 311

30.7.2列表框布局方向 312

30.7.3列表框选择模式和列表框选择模型 312

30.7.4举例:列表框属性演示 313

30.8列表模型 315

30.9列表框单元格绘制器 317

30.10组合框JComboBox 321

第31章JTable和JTree 329

31.1引言 329

31.2表格JTable 329

31.3表格模型和表格列模型 334

31.4实例学习:修改表格的行和列 337

31.5表格绘制器和编辑器 342

31.6自定义表格绘制器和编辑器 345

31.7表格模型事件 347

31.8树JTree 350

31.9 TreeModel及其默认类 DefaultTreeModel 353

31.10结点接口TreeNode、 MutableTree Node和类DefaultMutableTreeNode 355

31.11树的路径类TreePath和选择接口 TreeSelectionModel 358

31.12实例学习:对树进行修改 360

31.13树结点的绘制和编辑 363

31.14树的事件 365

第32章Java数据库程序设计 370

32.1引言 370

32.2关系数据库系统 370

32.2.1关系结构 371

32.2.2完整性约束 372

32.3 SQL 373

32.3.1创建和删除表 374

32.3.2在关系数据库中使用SQL 374

32.3.3简单插入、更新和删除 376

32.3.4简单查询 377

32.3.5比较运算符和布尔运算符 377

32.3.6运算符like、 between-and和isnull 378

32.3.7列的别名 378

32.3.8算术运算符 379

32.3.9显示互不相同的元组 379

32.3.10显示有序元组 379

32.3.11联结表 380

32.4 JDBC 381

32.4.1使用JDBC开发数据库应用程序 381

32.4.2通过Java applet访问数据库 384

32.5预备语句接口PreparedStatement 387

32.6检索元数据 389

32.6.1数据库元数据 389

32.6.2获得数据库表 390

32.6.3结果集元数据 391

第33章 高级Java数据库程序设计 396

33.1引言 396

33.2一个通用的SQL客户程序 396

33.3批处理 400

33.4可滚动和可更新的结果集 405

33.5 RowSet、JdbcRowSet和 CachedRowSet 414

33.5.1 RowSet基础 414

33.5.2用于PreparedStatement的 RowSet 415

33.5.3滚动和更新RowSet 416

33.5.4 RowSetEvent 417

33.6在JDBC中存储和检索图像 418

第34章servlet 424

34.1 引言 424

34.2 HTML和公用网关接口 424

34.2.1静态Web内容 424

34.2.2动态Web内容与公用网关接口 425

34.2.3 GET方法和POST方法 425

34.2.4从CGI到Java servlet 426

34.3创建和运行servlet 426

34.3.1创建servlet 426

34.3.2创建上下文根目录 427

34.3.3编译servlet 428

34.3.4将servlet映射到URL 428

34.3.5启动和终止Tomcat 429

34.3.6运行servlet 429

34.4 servlet API 430

34.4.1接口Servlet 430

34.4.2 GenericServlet类、ServletConfig 接口和HttpServlet类 431

34.4.3 ServletRequest接口和 HttpServletRequest接口 432

34.4.4 ServletResponse接口与 HttpServletResponse接口 432

34.5创建 servlet 433

34.6 HTML窗体 434

34.6.1从HTML窗体中获取参数的值 437

34.6.2根据地区和时区获取当前时间 438

34.7 servlet中的数据库程序设计 440

34.8会话跟踪 444

34.8.1使用隐藏值进行会话跟踪 444

34.8.2使用cookie进行会话跟踪 448

34.8.3使用servlet API进行会话跟踪 453

34.9利用servlet发送图像 457

34.9.1利用文件发送图像 457

34.9.2利用Image对象发送图像 459

34.9.3图像和文本一起发送 461

第35章JSP 470

35.1引言 470

35.2简单的JSP页面 470

35.3如何处理JSP页面 471

35.4 JSP脚本构件 471

35.5预定义变量 473

35.6 JSP指令 475

35.6.1举例:导入类 476

35.6.2举例:使用错误处理页面 477

35.7在JSP中使用JavaBeans 478

35.8读取和设置属性 481

35.9建立属性与输入参数的关联 482

35.9.1举例:使用JavaBeans计算贷款支付额 482

35.9.2举例:使用JavaBeans计算数的阶乘 483

35.9.3举例:显示国际时间 484

35.9.4举例:注册学生 486

35.10 JSP网页中转交请求信息 490

35.11实例学习:浏览数据库的表 490

第36章 远程方法调用 499

36.1引言 499

36.2 RMI基本知识 499

36.2.1 RMI是如何工作的 499

36.2.2参数传输 500

36.2.3 RMI注册处 501

36.3开发RMI应用程序 501

36.4 RMI与套接字层程序设计 506

36.5使用RMI开发三层结构的应用程序 507

36.6 RMI的回调功能 509

附录A Java关键字 520

附录B ASCII码字符集 521

附录C运算符优先级表 522

附录D Java修饰符 523

附录E特殊浮点值 524

附录F位运算符 525