JAVA 2核心技术 卷II:高级特性(原书第7版)(被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一)
基本信息
- 作者: (美)Cay S.Horstmann,Gary Cornell [作译者介绍]
- 译者: 陈昊鹏 王浩 姚建平 等
- 丛书名: Sun公司核心技术丛书
- 出版社:机械工业出版社
- ISBN:7111179013
- 上架时间:2006-3-21
- 出版日期:2006 年3月
- 开本:16开
- 页码:842
- 版次:7-1
- 所属分类:
计算机 > 软件与程序设计 > JAVA(J#) > Java
编辑推荐
众多Java专业程序员的启蒙读物!华章公司陆续推出3版、畅销5年!第6版销量达三万册!...
推荐阅读
内容简介回到顶部↑
本书是java 2技术权威指南,全面覆盖java 2技术的高级主题,包括:多线程、集合框架、网络api、数据库编程、分布式对象等,深入探究了swing、java 2d api、javabean、java安全模式、xml、注释、元数据等主题,同时涉及本地方法、国际化以及jdk 5.0的内容。本书适合软件开发人员、高等院校学生和教师参考。.
本书包括java 2平台标准版(j2se)的高级用户界面编程和企业特性。与卷ⅰ(包括最重要的语言和类库特性)一样,本书针对j2se 5.0做了更新和修订。所有的示例程序都已进行更新,而且经过精心的构思,从而可以阐明针对职业开发者所碰到的实际问题类型的实战性解决方案。...
本书包括java 2平台标准版(j2se)的高级用户界面编程和企业特性。与卷ⅰ(包括最重要的语言和类库特性)一样,本书针对j2se 5.0做了更新和修订。所有的示例程序都已进行更新,而且经过精心的构思,从而可以阐明针对职业开发者所碰到的实际问题类型的实战性解决方案。...
作译者回到顶部↑
本书提供作译者介绍
Cay S.Horstmann是圣何塞州立大学计算机科学系教授。他曾经是Preview Systems公司的副总裁和首席技术官,曾任许多大型公司、大学和组织的C++、Java与因特网编程顾问。.
Gary Comell曾经撰写或与人合著过20多本计算机畅销书。他是Brown大学的博士,在IBM的Watson实验室做过访问科学家,曾任康涅狄格大学的教授。...
.. << 查看详细
Gary Comell曾经撰写或与人合著过20多本计算机畅销书。他是Brown大学的博士,在IBM的Watson实验室做过访问科学家,曾任康涅狄格大学的教授。...
.. << 查看详细
目录回到顶部↑
译者序
前言
第1章 多线程 . 1
1.1 什么是线程 2
1.2 中断线程 11
1.3 线程状态 13
1.3.1 新生线程 13
1.3.2 可运行线程 13
1.3.3 被阻塞线程 14
1.3.4 死线程 15
1.4 线程属性 15
1.4.1 线程优先级 15
1.4.2 守护线程 16
1.4.3 线程组 16
1.4.4 未捕获异常处理器 18
1.5 同步 19
1.5.1 竞争条件的一个例子 19
1.5.2 详解竞争条件 22
1.5.3 锁对象 23
1.5.4 条件对象 25
前言
第1章 多线程 . 1
1.1 什么是线程 2
1.2 中断线程 11
1.3 线程状态 13
1.3.1 新生线程 13
1.3.2 可运行线程 13
1.3.3 被阻塞线程 14
1.3.4 死线程 15
1.4 线程属性 15
1.4.1 线程优先级 15
1.4.2 守护线程 16
1.4.3 线程组 16
1.4.4 未捕获异常处理器 18
1.5 同步 19
1.5.1 竞争条件的一个例子 19
1.5.2 详解竞争条件 22
1.5.3 锁对象 23
1.5.4 条件对象 25
译者序回到顶部↑
“Core Java”已经连续推出了7版,在广大Java程序员和爱好者中的影响力越来越大。本书覆盖面广,几乎囊括了Java 2标准版的所有方面。以接近实战的实例来展开内容的书写方式,更是容易让读者理解和接受Java的精髓。.
Java已经受到越来越多的程序员的青睐,越来越多的程序员开始从C++转战到Java的领域。但是Java语言的内容包罗万象,而且其自身发展的速度更是惊人,我们在Sun公司的网站上几乎每个月都会看到有新的基于Java的规范出台。JDK 5.0的出现使很多以前对JDK 1.4已经非常熟悉的Java程序员也产生了一些震惊,其新添加的特性将在很大程度上改变以前使用Java的方式。因此,本书在第6版的基础上,对JDK 5.0中的新特性进行了重点介绍,对原有部分章节进行了更新和调整,并且新增加了一些章节,以此来使程序员们能够更加透彻地理解和熟练地掌握这些新特性。..
本卷面向的是已经熟读并掌握了本书卷I内容的读者,或者是已经对Java语言的基本特性相当熟悉的读者。本卷包含了多线程、集合、数据库编程、分布式对象、AWT高级特性、Swing高级特性、JavaBean、安全、国际化、本地方法、XML以及注释等内容,把读者引入了Java世界的更深处。
我们在翻译本书的过程中力求忠于原著。对于本书中出现的大量的专业术语尽量遵循标准的译法,并在有可能引起歧义之处注上了英文原文,以便读者对照理解。
全书的翻译由陈昊鹏、王浩、姚建平和龚斌合作完成,楼钢、李伟、郭嘉和方小丽也参与了全书的翻译和审校工作。由于我们水平有限,书中出现错误与不妥之处在所难免,恳请读者批评指正。...
Java已经受到越来越多的程序员的青睐,越来越多的程序员开始从C++转战到Java的领域。但是Java语言的内容包罗万象,而且其自身发展的速度更是惊人,我们在Sun公司的网站上几乎每个月都会看到有新的基于Java的规范出台。JDK 5.0的出现使很多以前对JDK 1.4已经非常熟悉的Java程序员也产生了一些震惊,其新添加的特性将在很大程度上改变以前使用Java的方式。因此,本书在第6版的基础上,对JDK 5.0中的新特性进行了重点介绍,对原有部分章节进行了更新和调整,并且新增加了一些章节,以此来使程序员们能够更加透彻地理解和熟练地掌握这些新特性。..
本卷面向的是已经熟读并掌握了本书卷I内容的读者,或者是已经对Java语言的基本特性相当熟悉的读者。本卷包含了多线程、集合、数据库编程、分布式对象、AWT高级特性、Swing高级特性、JavaBean、安全、国际化、本地方法、XML以及注释等内容,把读者引入了Java世界的更深处。
我们在翻译本书的过程中力求忠于原著。对于本书中出现的大量的专业术语尽量遵循标准的译法,并在有可能引起歧义之处注上了英文原文,以便读者对照理解。
全书的翻译由陈昊鹏、王浩、姚建平和龚斌合作完成,楼钢、李伟、郭嘉和方小丽也参与了全书的翻译和审校工作。由于我们水平有限,书中出现错误与不妥之处在所难免,恳请读者批评指正。...
前言回到顶部↑
致读者
您手中的这本书是第7版的《Java 2 核心技术》(Core Java 2)的卷Ⅱ。卷Ⅰ主要介绍了Java语言的一些关键特性;而本卷主要介绍编程人员进行专业的软件开发时需要了解的高级主题。因此,与本书卷Ⅰ和它前面的一些版本一样,我们仍将本书定位于为那些将Java技术运用于实际项目的编程人员提供帮助。.
请注意:如果你是一个经验丰富的开发人员,能够灵活运用像内部类和泛型这样的高级语言特性,那么你就不需要阅读完卷Ⅰ再学习本卷。(不过,本卷会根据适当情况去参考引用卷Ⅰ的有关内容,我们希望读者会购买或者已经购买了卷Ⅰ,当然,读者也可以在任何一本综合介绍Java平台的书中找到所需的背景知识。)
最后要说明的一点是,编写任何一本书籍都难免会有一些错误或不准确的地方。我们非常乐意听到这方面的内容。当然,我们更希望对这些问题的报告只听到一次。为此,我们创建了一个FAQ、bug修正以及应急方案的网http://www.horstmann.com/corejava.html。你可以在bug报告网页(该网页的目的是鼓励读者阅读以前的报告)的末尾处添加bug报告来发布bug和问题、给出建议,以便改进本书将来的版本。
关于本书
本书中的章节大部分是相互独立的。你可以研究令你最感兴趣的任何主题,并可以按照任意顺序阅读这些章节。
第1章着重介绍多线程,它可以让你编程实现并行运行的多个任务。(一个线程就是程序中的一个控制流。)我们将介绍怎样创建线程,以及怎样对线程进行同步处理。多线程在JDK 5.0中变动很大,我们会告诉你有关的所有新机制。
第2章的主题是Java 2平台的集合框架。无论何时,只要你想要收集多个对象,并且以后还要对它们进行检索,你都会希望使用一个最适合你的运行环境的集合,而不是仅仅将这些元素随意置入一个向量中。
这一章将介绍如何利用预先为你构建的标准集合,同时对JDK 5.0泛型集合类做了彻底的修正。
第3章介绍网络API。Java使得复杂的网络编程工作变得很容易实现。我们将介绍怎样创建连接到服务器上的网络连接,怎样实现你自己的服务器,以及怎样生成HTTP连接。最后我们将讨论半关闭信道以及可中断信道这样的高级问题。
第4章介绍数据库编程。重点讲解JDBC,即Java数据库连接API,这是用于将Java程序与关系数据库进行连接的API。我们将介绍怎样通过使用JDBC API的核心子集,编写能够处理实际的数据库日常操作事务的实用程序。(如果要完整介绍JDBC API的功能,可能需要编写一本像本书一样厚的书才行。)最后我们简要介绍了层次数据库,探讨了一下JNDI(Java命名及目录接口)以及LDAP(轻量级目录访问协议)。
第5章介绍分布式对象。我们详细了介绍RMI(远程方法调用)。这个API可以让你运行分布在多台机器上的Java对象。然后简要讨论了CORBA(通用对象请求代理架构),并展示了那些用C++和Java编写的对象是怎样进行通信的。最后讨论了SOAP(简单对象访问协议),并给出了一个实现了Java程序和Amazon Web Service之间进行通信的示例。
第6章涵盖了没有纳入卷Ⅰ的所有Swing知识,尤其是重要但很复杂的树构件和表格构件。随后我们介绍了编辑面板的基本用法、“多文档”界面的Java实现以及在多线程程序中用到的进度指示器。我们仍着重介绍在实际编程中可能遇到的最为有用的构件,因为对Swing类库进行百科全书般的介绍可能会填满好几卷书,并且只有专业编程人员才感兴趣。
第7章介绍Java 2D API,你可以用它来创建实际的图形。该章还介绍了抽象窗口操作工具包(AWT)的一些高级特性,这部分似乎应该在卷Ⅰ中做专门介绍。虽然如此,这些技术还是应该成为每一个编程人员工具包的一部分。这些特性包括打印和用于剪切及拖放的API。
第8章介绍了用于Java平台的构件API—JavaBean。你将会看到怎样编写自己的bean,以及其他编程人员怎样在集成构建环境中对它们进行操作。最后我们展示怎样使用JavaBean的持久性,以某种与适用于长期存储的对象序列化不同的格式来存储自己的数据。
第9章继续介绍Java安全模式。Java平台一开始就是基于安全而设计的,该章会带你深入内部,查看这种设计是怎样实现的。我们将展示怎样编写用于特殊目的的应用的类加载器以及安全管理器。然后介绍允许使用消息、代码签名、授权以及认证和加密等重要特性的安全API。从JDK 5.0开始,这部分内容被彻底更新了,以便能够利用AES和RSA加密算法。
第10章讨论了一个我们认为重要性将会不断提升的特性—国际化。Java编程语言是几种一开始就被设计为可以处理Unicode的语言之一,不过Java平台的国际化支持则走得更加深远。因此,你可以对Java应用程序进行国际化,使得它们不仅可以跨平台,而且还可以跨越国界。例如,我们会展示怎样编写一个退休金计算器的applet,对它可以根据本地浏览器的情况使用英语、德语或者汉语进行浏览。
第11章介绍本地方法,它可以让你调用为微软Windows API这样的特殊机制而编写的各种调用方法。很显然,这种特性具有争议性:使用本地方法,那么Java平台的跨平台本质将会随之消失。虽然如此,每个为特定平台编写Java应用程序的严谨的编程人员都需要了解这些技术。当你编写重要的应用程序的时候,为了你的目标平台,你可能需要求助于操作系统API。我们将通过给出一个怎样从某个Java程序访问Windows注册表API的示例阐明这一点。..
第12章介绍XML。介绍怎样解析XML文件,怎样生成XML以及怎样使用XSL转换。在一个实用示例中,我们将展示怎样在XML中指定Swing格式的布局。我们对该章进行了更新修正,将XPath API纳入其中,它使得“在XML的干草堆中发现绣花针”变得更加容易。
第13章是本版新增加的一部分。涉及注释、元数据以及在JDK 5.0中新添加的一些特性。可以使用注释向Java程序中添加任意信息(元数据)。我们将展示注释处理器怎样在源码级别或者在类文件级别上收集这些注释,以及怎样运用这些注释来影响运行时的类行为。注释只有在工具的支持下才有用,因此,我们希望我们的讨论能够帮助你根据需要选择有用的注释处理工具。
您手中的这本书是第7版的《Java 2 核心技术》(Core Java 2)的卷Ⅱ。卷Ⅰ主要介绍了Java语言的一些关键特性;而本卷主要介绍编程人员进行专业的软件开发时需要了解的高级主题。因此,与本书卷Ⅰ和它前面的一些版本一样,我们仍将本书定位于为那些将Java技术运用于实际项目的编程人员提供帮助。.
请注意:如果你是一个经验丰富的开发人员,能够灵活运用像内部类和泛型这样的高级语言特性,那么你就不需要阅读完卷Ⅰ再学习本卷。(不过,本卷会根据适当情况去参考引用卷Ⅰ的有关内容,我们希望读者会购买或者已经购买了卷Ⅰ,当然,读者也可以在任何一本综合介绍Java平台的书中找到所需的背景知识。)
最后要说明的一点是,编写任何一本书籍都难免会有一些错误或不准确的地方。我们非常乐意听到这方面的内容。当然,我们更希望对这些问题的报告只听到一次。为此,我们创建了一个FAQ、bug修正以及应急方案的网http://www.horstmann.com/corejava.html。你可以在bug报告网页(该网页的目的是鼓励读者阅读以前的报告)的末尾处添加bug报告来发布bug和问题、给出建议,以便改进本书将来的版本。
关于本书
本书中的章节大部分是相互独立的。你可以研究令你最感兴趣的任何主题,并可以按照任意顺序阅读这些章节。
第1章着重介绍多线程,它可以让你编程实现并行运行的多个任务。(一个线程就是程序中的一个控制流。)我们将介绍怎样创建线程,以及怎样对线程进行同步处理。多线程在JDK 5.0中变动很大,我们会告诉你有关的所有新机制。
第2章的主题是Java 2平台的集合框架。无论何时,只要你想要收集多个对象,并且以后还要对它们进行检索,你都会希望使用一个最适合你的运行环境的集合,而不是仅仅将这些元素随意置入一个向量中。
这一章将介绍如何利用预先为你构建的标准集合,同时对JDK 5.0泛型集合类做了彻底的修正。
第3章介绍网络API。Java使得复杂的网络编程工作变得很容易实现。我们将介绍怎样创建连接到服务器上的网络连接,怎样实现你自己的服务器,以及怎样生成HTTP连接。最后我们将讨论半关闭信道以及可中断信道这样的高级问题。
第4章介绍数据库编程。重点讲解JDBC,即Java数据库连接API,这是用于将Java程序与关系数据库进行连接的API。我们将介绍怎样通过使用JDBC API的核心子集,编写能够处理实际的数据库日常操作事务的实用程序。(如果要完整介绍JDBC API的功能,可能需要编写一本像本书一样厚的书才行。)最后我们简要介绍了层次数据库,探讨了一下JNDI(Java命名及目录接口)以及LDAP(轻量级目录访问协议)。
第5章介绍分布式对象。我们详细了介绍RMI(远程方法调用)。这个API可以让你运行分布在多台机器上的Java对象。然后简要讨论了CORBA(通用对象请求代理架构),并展示了那些用C++和Java编写的对象是怎样进行通信的。最后讨论了SOAP(简单对象访问协议),并给出了一个实现了Java程序和Amazon Web Service之间进行通信的示例。
第6章涵盖了没有纳入卷Ⅰ的所有Swing知识,尤其是重要但很复杂的树构件和表格构件。随后我们介绍了编辑面板的基本用法、“多文档”界面的Java实现以及在多线程程序中用到的进度指示器。我们仍着重介绍在实际编程中可能遇到的最为有用的构件,因为对Swing类库进行百科全书般的介绍可能会填满好几卷书,并且只有专业编程人员才感兴趣。
第7章介绍Java 2D API,你可以用它来创建实际的图形。该章还介绍了抽象窗口操作工具包(AWT)的一些高级特性,这部分似乎应该在卷Ⅰ中做专门介绍。虽然如此,这些技术还是应该成为每一个编程人员工具包的一部分。这些特性包括打印和用于剪切及拖放的API。
第8章介绍了用于Java平台的构件API—JavaBean。你将会看到怎样编写自己的bean,以及其他编程人员怎样在集成构建环境中对它们进行操作。最后我们展示怎样使用JavaBean的持久性,以某种与适用于长期存储的对象序列化不同的格式来存储自己的数据。
第9章继续介绍Java安全模式。Java平台一开始就是基于安全而设计的,该章会带你深入内部,查看这种设计是怎样实现的。我们将展示怎样编写用于特殊目的的应用的类加载器以及安全管理器。然后介绍允许使用消息、代码签名、授权以及认证和加密等重要特性的安全API。从JDK 5.0开始,这部分内容被彻底更新了,以便能够利用AES和RSA加密算法。
第10章讨论了一个我们认为重要性将会不断提升的特性—国际化。Java编程语言是几种一开始就被设计为可以处理Unicode的语言之一,不过Java平台的国际化支持则走得更加深远。因此,你可以对Java应用程序进行国际化,使得它们不仅可以跨平台,而且还可以跨越国界。例如,我们会展示怎样编写一个退休金计算器的applet,对它可以根据本地浏览器的情况使用英语、德语或者汉语进行浏览。
第11章介绍本地方法,它可以让你调用为微软Windows API这样的特殊机制而编写的各种调用方法。很显然,这种特性具有争议性:使用本地方法,那么Java平台的跨平台本质将会随之消失。虽然如此,每个为特定平台编写Java应用程序的严谨的编程人员都需要了解这些技术。当你编写重要的应用程序的时候,为了你的目标平台,你可能需要求助于操作系统API。我们将通过给出一个怎样从某个Java程序访问Windows注册表API的示例阐明这一点。..
第12章介绍XML。介绍怎样解析XML文件,怎样生成XML以及怎样使用XSL转换。在一个实用示例中,我们将展示怎样在XML中指定Swing格式的布局。我们对该章进行了更新修正,将XPath API纳入其中,它使得“在XML的干草堆中发现绣花针”变得更加容易。
第13章是本版新增加的一部分。涉及注释、元数据以及在JDK 5.0中新添加的一些特性。可以使用注释向Java程序中添加任意信息(元数据)。我们将展示注释处理器怎样在源码级别或者在类文件级别上收集这些注释,以及怎样运用这些注释来影响运行时的类行为。注释只有在工具的支持下才有用,因此,我们希望我们的讨论能够帮助你根据需要选择有用的注释处理工具。
评论交流
共有157人开贴评论 286人参与评论 134人参与打分 查看
发表于:2010-2-9 10:02:00
说实话,这本书不错,我是一个初学者,虽然其中一些话翻译的不是很流畅,但是意思还是很明白的,还是物有所值,希望大家评论时候客观一点,给初学者一个正确导向,当然如果水平很高,这些书可能还是看外版的好,它稍微让我开了些窍,发现Java博大精深,之所以要有这样那样的Java语法限制,其实大有门道。拿到书的时候,便迫不及待的看了,有一种提壶灌顶的书介绍Java虚拟机在运行时数据区为这些对象分配内存的内幕,还透彻的介绍了编译和运行程序时,正确设置classpath的诀窍。整本书由浅到深介绍了Java的方方面面,即适合初学者,又能让有经验的人对Java有更深层次的认识。让我大开眼界,真是妙不可言
评价等级:







发表于:2006-12-8 18:16:00
对书的评价要摸着自己的良心,自己看不懂不能怪别人书翻译的不好,那些说纸质不好的人也太没水平了,真正爱书的人,不是爱他的外观和纸质,而是在于他的内容含金量。最近也不知道怎么,发评论的人都讨论起纸质,翻译,之类的话题。评论是指导人们如何买一本好书,希望写评论的人认真一点,要不就别写,因为评论是将影响一个人买的书的好坏。我是看过JAVA核心技术这本书的。我觉得很好,提到了很多东西都是别的书上没有的。这本书是有点难,我看过三遍才真正完全领悟,他对我的帮助是很大的。不过由于各方面的原因。我也许会往.NET发展,但对JAVA还是很舍不得。
评价等级:







发表于:2006-9-19 21:52:00
我是八月底买的这本书,已经看了快一个月了。我觉得想看这本书的人应该有一点Java的或者是OOP的基础。毫无疑问,这本书的内容肯定是值这个价钱的,想深入了解一下java的人可以选这本书。
至于纸质的问题-我觉得现在手上的这本还不错嘛,没有到不能接受的地步。我在图书馆看过这书的第六版,第六版的纸质确实是非常糟糕--但是第七版的好多了。(2006年5月第1版第2次印刷)
对于选这本书还是选《JAVA编程思想(第3版)》,我觉得还是先选这本吧。起码这本是基于J2SE5.0的。(不要轻视这一点,我看了这书才感慨我们学校老师教的都不知道是什么时候的JAVA了,JDK1.5对于不少基础内容也有更新。)而且这本书内容相对于《JAVA编程思想》容易一些。看完这本书差不多到明年年初的时候,那时应该就可以看到《JAVA编程思想(第4版)》了。
--我的JAVA学得不怎么样,希望大家一起分享经验。我历来讨厌不分青红皂白乱拍砖的人,有话好好说。
至于纸质的问题-我觉得现在手上的这本还不错嘛,没有到不能接受的地步。我在图书馆看过这书的第六版,第六版的纸质确实是非常糟糕--但是第七版的好多了。(2006年5月第1版第2次印刷)
对于选这本书还是选《JAVA编程思想(第3版)》,我觉得还是先选这本吧。起码这本是基于J2SE5.0的。(不要轻视这一点,我看了这书才感慨我们学校老师教的都不知道是什么时候的JAVA了,JDK1.5对于不少基础内容也有更新。)而且这本书内容相对于《JAVA编程思想》容易一些。看完这本书差不多到明年年初的时候,那时应该就可以看到《JAVA编程思想(第4版)》了。
--我的JAVA学得不怎么样,希望大家一起分享经验。我历来讨厌不分青红皂白乱拍砖的人,有话好好说。
| 我要写评论 |
| 查看所有评论交流(共157条) |


点击看大图





加载中...
