《Java编程艺术》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Herbert Schildt,(美)James Holmes著;邓劲生译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302090548
  • 页数:339 页
图书介绍:本书代码示例易懂有趣,设计思想独特,使您受益匪浅!——TimHarris(Java培训师,美国)一本伟大的书!值得每位有品味的Java程序员阅读和珍藏。——DavidM.Williams(系统架构师,澳大利亚)很酷的一本书,从中您可以学到很多在其他Java图书中无法学到的“酷”信息,例如基于AI和Internet的程序开发,都非常棒!——ChrisBosworth(资深程序员,美国)本书深入浅出地介绍了Java语言本身的优雅特性和强大功能,并结合编程语言解释器、网络编程、界面绘图、人工智能等多方面的实例解说,使读者能够尽快克服对Java的神秘感,真正进入Java编程世界。——熊节(CSDN专栏作者、中国)本书不同于其他介绍Java的书。其他的书多半介绍Java语言的基础知识,但本书揭示的是如何将Java应用于计算领域中最为有趣和实用(有时还是神秘)的编程任务中。书中充分展示了Java语言的强大性、多样性和优美性,从而展现了Java编程设计的艺术性。

第1章 Java精髓 1

1.1 简单数据类型和对象:完美的平衡 2

1.2 通过垃圾回收实现内存管理 3

1.3 完美的简单多线程模型 3

1.4完全集成的异常机制 4

1.5对多态性支持的改进 5

1.6通过字节码保证可移植性和安全性 5

1.7丰富的Java API 6

1.8 Applet 7

1.9继续变革 7

第2章 递归下降的表达式解析器 9

2.1 表达式 10

2.2解析表达式 11

2.3表达式的解析 11

2.4表达式的分解 13

2.5 一个简单的表达式解析器 16

2.6向解析器中添加变量 24

2.7递归下降解析器中的语法检查 34

2.8计算器Applet 34

2.9 些尝试 37

第3章 使用Java实现语言解释器 38

3.1解释何种计算机语言 39

3.2解释器概述 40

3.3 SmallBASIC解释器 41

3.4 Small BASIC表达式解析器 61

3.4.1 Small BASIC的表达式 61

3.4.2 Small BASIC的标识符 62

3.5解释器 66

3.5.1 InterpreterException类 67

3.5.2 SBasic构造函数 67

3.5.3关键字 68

3.5.4 run()方法 70

3.5.5 sbInterp()方法 71

3.5.6赋值 72

3.5.7 PRINT语句 73

3.5.8 INPUT语句 75

3.5.9 GOTO语句 76

3.5.10 IF语句 78

3.5.11 FOR循环 79

3.5.12 GOSUB 82

3.5.13 END语句 83

3.6 Small BASIC的使用 83

3.7对解释器进行增强和扩展 86

3.8创建自己的计算机语言 86

第4章 使用Java创建下载管理器 88

4.2下载管理器概述 89

4.1 深入理解Internet下载流程 89

4.3 Download类 90

4.3.1 Download类的变量 94

4.3.2 Download类的构造函数 94

4.3.3 download()方法 95

4.3.4 run()方法 95

4.3.5 stateChanged()方法 99

4.3.6 Action和Accessor方法 99

4.4 ProgressRenderer类 99

4.5 DownloadsTableModel类 100

4.5.3 getColumnClass()方法 103

4.5.2 clearDownload()方法 103

4.5.1 addDownload()方法 103

4.5.4 getValueAt()方法 104

4.5.5 update()方法 104

4.6 DownloadManager类 105

4.6.1DownloadManager类的变量 111

4.6.2 DownloadManager类的构造函数 111

4.6.3 verifyUrl()方法 111

4.6.4 tableSelectionChanged()方法 112

4.6.5 updateButtons()方法 113

4.6.6动作事件的处理 114

4.7编译并运行下载管理器 114

4.8 改进下载管理器 115

第5章 用Java实现E-mail客户端 116

5.1 E-mail内幕 117

5.1.1 POP3 117

5.1.2 IMAP 117

5.1.3 SMTP 118

5.1.4发送和接收E-mail的一般过程 118

5.2 JavaMail API 118

5.3一个简单的E-mail客户端 120

5.3.1 ConnectDialog类 121

5.3.2 DownloadingDialog类 126

5.3.3 MessageDialog类 128

5.3.4 MessagesTableModel类 135

5.3.5 EmailClient类 139

5.4编译并运行E-mail客户端 156

5.5对基本E-mail客户端的扩展 157

第6章 使用Java搜索Internet 158

6.1 Web搜索程序基础 159

6.2遵守Robot协议 160

6.3 Search Crawler概述 161

6.4 SearchCrawler类 162

6.4.1 SearchCrawler类的变量 179

6.4.2 SearchCrawler类的构造函数 179

6.4.3 actionSearch()方法 180

6.4.4 search()方法 182

6.4.5 showError()方法 185

6.4.6 updateStats() 185

6.4.7 addMatch()方法 186

6.4.8 verifyUrl()方法 187

6.4.9 isRobotAllowed()方法 188

6.4.10 downloadPage()方法 190

6.4.11 removeWwwFromUrl()方法 191

6.4.12 retrieveLinks()方法 192

6.4.13 searchStringMatches()方法 198

6.4.14 crawl()方法 199

6.5 Web搜索程序的编译与运行 202

6.6对Web搜索程序的思考 203

第7章 使用Java提交HTML 205

7.1 使用JEditorPane提交HTML 206

7.2处理超链接事件 206

7.3编写Mini Web浏览器 207

7.3.1 MiniBrowser类 208

7.3.2 MiniBrowser类的变量 213

7.3.3 MiniBrowser类的构造函数 214

7.3.4 actionBack()方法 214

7.3.5 actionForward()方法 215

7.3.6 actionG()方法 215

7.3.8 verifyUrl()方法 216

7.3.7 showError()方法 216

7.3.9 showPage()方法 217

7.3.10 updateButtons()方法 218

7.3.11 hyperlinkUpdate()方法 219

7.4 Mini Web浏览器的编译与运行 220

7.5 HTML提交程序的应用前景 221

第8章 统计、图表与Java 222

8.1样本、总体、分布与变量 223

8.2基本统计值 223

8.2.1平均数 224

8.2.2中位数 224

8.2.3众数 225

8.3方差和标准差 227

8.4回归方程式 228

8.5 Stats类的完整代码 232

8.6绘图数据 235

8.6.1 数据的缩放 236

8.6.2 Graphs类 236

8.6.3 Graphs类的final变量和实例变量 241

8.6.4 Graphs类的构造函数 242

8.6.5 paint()方法 244

8.6.6 bargraph()方法 247

8.6.7 scatter()方法 247

8.7一个统计表的应用 248

8.6.8 regplot()方法 248

8.7.1 StatsWin类的构造函数 253

8.7.2 itemStateChanged()事件处理器 254

8.7.3 actionPerformed()方法 255

8.7.4shutdown()方法 255

8.7.5createMenu()方法 255

8.7.6 DataWin类 255

8.7.7联合使用 256

8.8创建一个简单的统计Applet 258

8.9一点尝试 260

第9章 金融应用中的Applet和Servlet 261

9.1 计算贷款的定期还款额 262

9.1.2init()方法 266

9.1.1 RegPay的成员 266

9.1.3 actionPerformed()方法 269

9.1.4 paint()方法 269

9.1.5 compute()方法 270

9.2计算投资的长期收益 270

9.3 计算达到某项长期收益目标所需的投资本金 274

9.4计算达到某项期望年金所需的初始投资 278

9.5 根据给定投资计算年金的最大值 282

9.6计算某项贷款的账户余额 286

9.7创建用于金融类计算的Servlet 290

9.7.2测试Servlet 291

9.7.1使用Tomcat 291

9.7.3把RegPay转换成Servlet 292

9.7.4 RegPayS程序 292

9.8一些尝试 296

第10章 基于AI的问题求解 297

10.1 表示法和相关术语 298

10.2组合爆炸问题 299

10.3搜索技术 300

10.4 问题的描述 301

10.5 FlightInfo类 303

10.6深度优先搜索 304

10.7广度优先搜索 313

10.8添加启发信息 316

10.8.1爬山搜索 317

10.8.2 爬山搜索的分析 322

10.8.3最小代价搜索 323

10.8.4最小代价搜索的分析 324

10.9查找多个解 324

10.9.1路径删除 325

10.9.2节点删除 326

10.10查找最优解 331

10.11 回到丢失钥匙的例子 336