⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.htm

📁 一本Java由初级到高级的编程书籍
💻 HTM
📖 第 1 页 / 共 3 页
字号:
(11) 第11章:运行期类型鉴定<br>
若只有指向基础类的一个句柄,Java的运行期类型标鉴定(RTTI)使我们能获知一个对象的准确类型是什么。一般情况下,我们需要有意忽略一个对象的准确类型,让Java的动态绑定机制(多形性)为那一类型实现正确的行为。但在某些场合下,对于只有一个基础句柄的对象,我们仍然特别有必要了解它的准确类型是什么。拥有这个资料后,通常可以更有效地执行一次特殊情况下的操作。本章将解释RTTI的用途、如何使用以及在适当的时候如何放弃它。此外,Java 
1.1的“反射”特性也会在这里得到介绍。<br>
<br>
(12) 第12章:传递和返回对象<br>
由于我们在Java中同对象沟通的唯一途径是“句柄”,所以将对象传递到一个函数里以及从那个函数返回一个对象的概念就显得非常有趣了。本章将解释在函数中进出时,什么才是为了管理对象需要了解的。同时也会讲述String(字串)类的概念,它用一种不同的方式解决了同样的问题。<br>
<br>
(13) 第13章:创建窗口和程序片<br>
Java配套提供了“抽象Windows工具包”(AWT)。这实际是一系列类的集合,能以一种可移植的形式解决视窗操纵问题。这些窗口化程序既可以程序片的形式出现,亦可作为独立的应用程序使用。本章将向大家介绍AWT以及网上程序片的创建过程。我们也会探讨AWT的优缺点以及Java 
1.1在GUI方面的一些改进。同时,重要的“Java Beans”技术也会在这里得到强调。Java 
Beans是创建“快速应用开发”(RAD)程序构造工具的重要基础。我们最后介绍的是Java 
1.2的“Swing”库——它使Java的UI组件得到了显著的改善。<br>
<br>
(14) 第14章:多线程<br>
Java提供了一套内建的机制,可提供对多个并发子任务的支持,我们称其为“线程”。这线程均在单一的程序内运行。除非机器安装了多个处理器,否则这就是多个子任务的唯一运行方式。尽管还有别的许多重要用途,但在打算创建一个反应灵敏的用户界面时,多线程的运用显得尤为重要。举个例子来说,在采用了多线程技术后,尽管当时还有别的任务在执行,但用户仍然可以毫无阻碍地按下一个按钮,或者键入一些文字。本章将对Java的多线程处理机制进行探讨,并介绍相关的语法。<br>
<br>
(15) 第15章 网络编程<br>
开始编写网络应用时,就会发现所有Java特性和库仿佛早已串联到了一起。本章将探讨如何通过因特网通信,以及Java用以辅助此类编程的一些类。此外,这里也展示了如何创建一个Java程序片,令其同一个“通用网关接口”(CGI)程序通信;揭示了如何用C++编写CGI程序;也讲述了与Java 
1.1的“Java数据库连接”(JDBC)和“远程方法调用”(RMI)有关的问题。<br>
<br>
(16) 第16章 设计范式<br>
本章将讨论非常重要、但同时也是非传统的“范式”程序设计概念。大家会学习设计进展过程的一个例子。首先是最初的方案,然后经历各种程序逻辑,将方案不断改革为更恰当的设计。通过整个过程的学习,大家可体会到使设计思想逐渐变得清晰起来的一种途径。<br>
<br>
(17) 第17章 项目<br>
本章包括了一系列项目,它们要么以本书前面讲述的内容为基础,要么对以前各章进行了一番扩展。这些项目显然是书中最复杂的,它们有效演示了新技术和类库的应用。<br>
有些主题似乎不太适合放到本书的核心位置,但我发现有必要在教学时讨论它们,这些主题都放入了本书的附录。<br>
<br>
(18) 附录A:使用非Java代码<br>
对一个完全能够移植的Java程序,它肯定存在一些严重的缺陷:速度太慢,而且不能访问与具体平台有关的服务。若事先知道程序要在什么平台上使用,就可考虑将一些操作变成“固有方法”,从而显著加快执行速度。这些“固有方法”实际是一些特殊的函数,以另一种程序设计语言写成(目前仅支持C/C++)。Java还可通过另一些途径提供对非Java代码的支持,其中包括CORBA。本附录将详细介绍这些特性,以便大家能创建一些简单的例子,同非Java代码打交道。<br>
<br>
(19) 附录B:对比C++和Java<br>
对一个C++程序员,他应该已经掌握了面向对象程序设计的基本概念,而且Java语法对他来说无疑是非常眼熟的。这一点是明显的,因为Java本身就是从C++衍生而来。但是,C++和Java之间的确存在一些显著的差异。这些差异意味着Java在C++基础上作出的重大改进。一旦理解了这些差异,就能理解为什么说Java是一种杰出的语言。这一附录便是为这个目的设立的,它讲述了使Java与C++明显有别的一些重要特性。<br>
<br>
(20) 附录C:Java编程规则<br>
本附录提供了大量建议,帮助大家进行低级程序设计和代码编写。<br>
<br>
(21) 附录D:性能<br>
通过这个附录的学习,大家可发现自己Java程序中存在的瓶颈,并可有效地改善执行速度。<br>
<br>
(22) 附录E:关于垃圾收集的一些话<br>
这个附录讲述了用于实现垃圾收集的操作和方法。<br>
<br>
(23) 附录F:推荐读物<br>
列出我感觉特别有用的一系列Java参考书。<br>
<br>
6. 练习<br>
为巩固对新知识的掌握,我发现简单的练习特别有用。所以读者在每一章结束时都能找到一系列练习。<br>
大多数练习都很简单,在合理的时间内可以完成。如将本书作为教材,可考虑在课堂内完成。老师要注意观察,确定所有学生都已消化了讲授的内容。有些练习要难些,他们是为那些有兴趣深入的读者准备的。大多数练习都可在较短时间内做完,有效地检测和加深您的知识。有些题目比较具有挑战性,但都不会太麻烦。事实上,练习中碰到的问题在实际应用中也会经常碰到。<br>
<br>
7. 多媒体CD-ROM<br>
本书配套提供了一片多媒体CD-ROM,可单独购买及使用。它与其他计算机书籍的普通配套CD不同,那些CD通常仅包含了书中用到的源码(本书的源码可从www.BruceEckel.com免费下载)。本CD-ROM是一个独立的产品,包含了一周“Hads-OnJava”培训课程的全部内容。这是一个由Bruce 
Eckel讲授的、长度在15小时以上的课程,含500张以上的演示幻灯片。该课程建立在这本书的基础上,所以是非常理想的一个配套产品。<br>
CD-ROM包含了本书的两个版本:<br>
(1) 本书一个可打印的版本,与下载版完全一致。<br>
(2) 为方便读者在屏幕上阅读和索引,CD-ROM提供了一个独特的超链接版本。这些超链接包括:<br>
■230个章、节和小标题链接<br>
■3600个索引链接<br>
CD-ROM刻录了600MB以上的数据。我相信它已对所谓“物超所值”进行了崭新的定义。<br>
CD-ROM包含了本书打印版的所有东西,另外还有来自五天快速入门课程的全部材料。我相信它建立了一个新的书刊品质评定标准。<br>
若想单独购买此CD-ROM,只能从Web站点www.BruceEckel.com处直接订购。<br>
<br>
8. 源代码<br>
本书所有源码都作为保留版权的免费软件提供,可以独立软件包的形式获得,亦可从http://www.BruceEckel.com下载。为保证大家获得的是最新版本,我用这个正式站点发行代码以及本书电子版。亦可在其他站点找到电子书和源码的镜像版(有些站点已在http://www.BruceEckel.com处列出)。但无论如何,都应检查正式站点,确定镜像版确实是最新的版本。可在课堂和其他教育场所发布这些代码。<br>
版权的主要目标是保证源码得到正确的引用,并防止在未经许可的情况下,在印刷材料中发布代码。通常,只要源码获得了正确的引用,则在大多数媒体中使用本书的示例都没有什么问题。<br>
在每个源码文件中,都能发现下述版本声明文字:<br>
<br>
16-17页程序<br>
<br>
可在自己的开发项目中使用代码,并可在课堂上引用(包括学习材料)。但要确定版权声明在每个源文件中得到了保留。<br>
<br>
9. 编码样式<br>
在本书正文中,标识符(函数、变量和类名)以粗体印刷。大多数关键字也采用粗体——除了一些频繁用到的关键字(若全部采用粗体,会使页面拥挤难看,比如那些“类”)。<br>
对于本书的示例,我采用了一种特定的编码样式。该样式得到了大多数Java开发环境的支持。该样式问世已有几年的时间,最早起源于Bjarne 
Stroustrup先生在《The C++ Programming Language》里采用的样式(Addison-Wesley 
1991年出版,第2版)。由于代码样式目前是个敏感问题,极易招致数小时的激烈辩论,所以我在这儿只想指出自己并不打算通过这些示例建立一种样式标准。之所以采用这些样式,完全出于我自己的考虑。由于Java是一种形式非常自由的编程语言,所以读者完全可以根据自己的感觉选用了适合的编码样式。<br>
本书的程序是由字处理程序包括在正文中的,它们直接取自编译好的文件。所以,本书印刷的代码文件应能正常工作,不会造成编译器错误。会造成编译错误的代码已经用注释//!标出。所以很容易发现,也很容易用自动方式进行测试。读者发现并向作者报告的错误首先会在发行的源码中改正,然后在本书的更新版中校订(所有更新都会在Web站点http://www.BruceEckel.com处出现)。<br>
<br>
10. Java版本<br>
尽管我用几家厂商的Java开发平台对本书的代码进行了测试,但在判断代码行为是否正确时,却通常以Sun公司的Java开发平台为准。<br>
当您读到本书时,Sun应已发行了Java的三个重要版本:1.0,1.1及1.2(Sun声称每9个月就会发布一个主要更新版本)。就我看,1.1版对Java语言进行了显著改进,完全应标记成2.0版(由于1.1已作出了如此大的修改,真不敢想象2.0版会出现什么变化)。然而,它的1.2版看起来最终将Java推入了一个全盛时期,特别是其中考虑到了用户界面工具。<br>
本书主要讨论了1.0和1.1版,1.2版有部分内容涉及。但在有些时候,新方法明显优于老方法。此时,我会明显偏向于新方法,通常教给大家更好的方法,而完全忽略老方法。然而,有的新方法要以老方法为基础,所以不可避免地要从老方法入手。这一特点尤以AWT为甚,因为那儿不仅存在数量众多的老式Java 
1.0代码,有的平台仍然只支持Java 1.0。我会尽量指出哪些特性是哪个版本特有的。<br>
大家会注意到我并未使用子版本号,比如1.1.1。至本书完稿为止,Sun公司发布的最后一个1.0版是1.02;而1.1的最后版本是1.1.5(Java 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -