重磅推荐
【产品特色】


【编辑推荐】

●Java极具影响力世界名著,针对Java 17全面升级,新版涵盖了Java 17新特性;

●豆瓣9.5 高分,50位KOL联名推荐,Java入门霸主毫无争议,数百万Java开发者系统学习Java的优选书籍;

●数百个几乎可直接应用到开发实践中的示例代码全部免费下载;

●作者亲自为本书录制学习视频,对书中重点和难点一一讲解,相关资源可在B站“Java技术核心技术站”免费观看。


【内容简介】

本书由获Jolt大奖并拥有20多年教学与研究经验的资深Java技术专家撰写,针对Java 17进行了全面更新。

伴随着Java的成长,《Java核心技术》从第1版到第12版一路走来,得到了广大Java程序设计人员的青睐,成为一本畅销不衰的Java经典图书。

本书经全面修订,以涵盖Java 17的新特性。新版延续之前版本的优良传统,用数百个实际的工程案例,全面系统地讲解了Java语言的核心概念、语法、 重要特性、 开发方法。

着力让读者在充分理解Java语言和Java类库的基础上,灵活应用Java提供的高级特性,具体包括面向对象程序设计、反射与代理、接口与内部类、异常处理、泛型程序设计、集合框架、事件监听器模型、图形用户界面设计和并发。


卷1共12章,为你指明Java的学习路径:

第1章概述Java语言的特色功能;
第2章详细论述如何下载和安装JDK以及本书的程序示例;
第3章开始讨论Java 语言,包括变量、循环和简单的函数;
第4章介绍面向对象两大基石中重要的概念——封装,以及Java语言实现封装的机制——类与方法;
第5章介绍面向对象的另一个重要概念——继承,继承使程序员可以使用现有的类,并根据需要进行修改;
第6章展示如何使用Java的接口(可帮助你充分获得Java的完全面向对象程序设计能力)、lambda表达式(用来表述可以在以后某个时间点执行的代码块)和内部类;
第7章讨论异常处理,并给出大量实用的调试技巧;
第8章概要介绍泛型程序设计,使程序更可读、更安全;
第9章讨论Java平台的集合框架,以及如何充分利用内建的标准集合;
第10章介绍GUI程序设计和编写代码来响应事件;
第11章详细讨论Swing GUI工具包,以建立跨平台的图形用户界面
第12章讨论并发。

学完本书,你将成为一个真正的 Java 程序员。本书不仅让你深入了解设计和实现 Java 应用涉及的所有基础知识和 Java 特性,还会帮助你掌握开发 Java 程序所需的全部基本技能。相信在学习Java的道路上有了本书的辅助,你的学习一定可以做到事半功倍。

卷2共分12章,本卷主要介绍编程人员进行专业软件开发时需要了解的高级主题。

第1章介绍了Java中的流。
第2章涵盖了输入/输出处理,包括读写文件和正则表达式。
第3章介绍了XML,展示如何解析XML文件、生成XML和使用XSL转换。
第4章讲解了网络API,以及怎样连接到服务器、实现自己的服务器、创建HTTP连接,并讨论了HTTP客户端。
第5章介绍了数据库编程,重点讲解JDBC,即Java数据库连接API。
第6章涵盖了如何使用日期和时间API来处理日期及时区。
第7章讨论了国际化。
第8章介绍了3种代码处理技术。
第9章讲解了从Java 9开始引入的Java平台模块系统,以促进Java平台和核心类库的有序演化。
第10章继续介绍了Java安全模型,展示怎样编写类加载器,以及如何使用消息摘要、代码签名、授权及加密等重要特性。
第11章讨论了高级Swing和图形化编程,包括表格构件、树构件、高级AWT,以及Java 2D API。
第12章介绍了本地方法,这个功能支持调用为微软Windows API这样的特殊机制而编写的各种方法。


【作者简介】

凯·S. 霍斯特曼(Cay S. Horstmann)
美国圣何塞州立大学计算机科学系教授、Java技术的坚定倡导者、国际计算机协会(ACM)计算机教育贡献杰出会士,常年在国际上的各类计算机峰会上进行技术分享,为硅谷输送计算机专业人才30余年。他是《Java核心技术》两卷本的作者,并著有Core Java SE 9 for the Impatient, Second Edition(Addison-Wesley, 2018)和Scala for the Impatient, Second Edition(Addison- Wesley, 2017)。他还为专业程序员和计算机科学专业的学生撰写过数十本其他图书。


【媒体评论】


【目录】


【前言】

【致读者】

1995年年底,Java语言在Internet舞台一亮相便名声大噪。Java技术承诺成为连接用户与信息的胶,而不论这些信息来自Web服务器、数据库、信息提供商,还是任何其他可以想象的渠道。事实上,就兑现这个承诺而言,Java具有独特的优势和地位。它是一种完全可信赖的程序设计语言,并得到了广泛认可。其固有的可靠性与安全特性不仅令Java程序员放心,也令使用Java程序的用户放心。Java内建了对网络编程、数据库连接和并发等高级程序设计任务的支持。

1995年以来,已经发布了Java开发工具包(Java Development Kit)的12个主要版本,在过去的25年中,应用程序编程接口(API)也从200个类扩展到超过4000个类。现在这些API覆盖了用户界面构建、数据库管理、国际化、安全性以及XML处理等各个不同的领域。

你手上的这本书是《Java核心技术》第12版的卷Ⅰ。《Java核心技术》的每个版本都紧随Java开发工具包的版本,并进行全面修订,以涵盖Java的特性。这一版经过更新,将反映Java 17的特性。

与本书以前的版本一样,这一版仍然将读者群定位为那些打算将Java应用到实际项目中的程序员。这里假设读者是具有程序设计语言(除Java之外)坚实背景知识的程序员,而且不希望书中充斥着玩具式的示例(诸如,烤面包机、动物园的动物或神经质的跳动文本)。这些不会在这本书中出现。本书的目标是让读者充分理解Java语言及Java类库,而不是让读者产生误解。

本书提供大量示例代码来演示Java的几乎每一个语言特性和类库特性。这里有意使用简单的示例程序以突出重点,不过,大部分示例都不是虚构的,也没有偷工减料。在编写代码时,这些示例可以作为很好的起点。

我们假定读者愿意(甚至渴望)学习Java提供的所有高级特性。本书将详细介绍以下内容:

<面向对象程序设计、反射与代理、接口与内部类、异常处理、泛型程序设计、集合框架、事件监听器模型、图形用户界面设计、并发>

随着Java类库的爆炸式增长,只用一卷无法涵盖程序员需要了解的所有Java特性。因此,我们决定将本书分为两卷。卷Ⅰ(开发基础)集中介绍Java语言的基本概念以及用户界面程序设计的基础知识。卷Ⅱ(高级特性)进一步介绍企业特性以及高级的用户界面程序设计。

【关于卷Ⅰ(开发基础)】

●第1章概述Java与其他程序设计语言不同的功能,解释这种语言的设计初衷,以及在哪些方面达到了预期。然后,简要叙述Java的历史,介绍Java是如何诞生和演进的。

●第2章介绍如何下载和安装JDK以及本书的程序示例,然后指导读者编译和运行一个控制台应用和一个图形应用。你将了解如何使用JDK、Java IDE和JShell工具。

●第3章开始讨论Java 语言。这一章会介绍一些基础知识,包括变量、循环和简单的函数。对于C或C 程序员来说,学习这一章的内容会感觉一帆风顺,因为这些语言特性的语法基本上与C语言相同。如果你没有C语言背景,但使用过其他程序设计语言(如Visual Basic),可能需要仔细阅读这一章。

面向对象程序设计(Object-Oriented Programming,OOP)是当今程序设计的主流,而Java是一种面向对象程序设计语言。

●第4章将介绍面向对象两大基石中的个概念——封装,以及Java语言实现封装的机制,即类与方法。除了Java语言规则之外,还对如何实现完善的OOP给出了建议。后,会介绍奇妙的javadoc工具,它能将代码注释转换为一组包含超链接的网页。熟悉C 的程序员可以快速浏览这一章,而对于没有面向对象程序设计背景的程序员,在进一步学习Java之前应当先花一些时间了解OOP的有关概念。

●类和封装只是OOP的一部分,第5章将介绍另一部分——继承(inheritance)。继承允许利用现有的类,并根据需要进行修改。这是Java程序设计中的一个基础技术。Java中的继承机制与C 的继承机制十分相似。重申一次,C 程序员可以只关注这两种语言的不同之处。

●第6章介绍如何使用Java的接口(interface)。接口允许你超越第5章中的简单继承模型。掌握接口会让你充分获得Java面向对象程序设计方法的强大能力。介绍接口之后,我们将转而介绍lambda表达式(lambda expression),这是一种简洁的表示方法,用来表示可以在以后某个时间点执行的代码块。接下来还会讲解Java的一个有用的技术特性——内部类(inner class)。

●第7章讨论异常处理(exception handling),这是Java处理异常情况的一种健壮机制,用于处理正常程序可能出现意外的情况。异常提供了一种将正常处理代码与错误处理代码分开的有效手段。当然,即使通过处理所有异常条件来强化程序,程序仍然有可能不按预期的方式工作。这一章的后一节将给出一组实用的调试技巧。

●第8章概要介绍泛型程序设计。泛型程序设计可以让程序更可读、更安全。我们会展示如何使用强类型机制,而舍弃不好看也不安全的强制类型转换,以及如何处理与Java老版本兼容所带来的复杂问题。

●第9章讨论的是Java平台的集合框架。如果希望收集多个对象,并在以后获取这些对象,就应当使用适用的集合,而不是简单地把这些元素放在一个数组中。这一章会介绍如何充分利用预建的标准集合。

●第10章介绍GUI程序设计,展示如何创建窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格式化文本,以及如何显示图像。接下来介绍如何编写代码来响应事件,如鼠标单击事件或按键事件。

●第11章详细讨论Swing GUI工具包。Swing工具包允许你建立跨平台的图形用户界面。还将介绍各种按钮、文本组件、边框、滑动条、列表框、菜单以及对话框的有关内容。不过,一些更高级的组件会在卷Ⅱ中讨论。

●第12章是本书的后一章,这一章将讨论并发,即编写并行执行的任务。当前,大多数处理器都有多个内核,而且我们希望这些内核都保持忙碌,所以并发是Java技术的一个重要且令人振奋的应用。

●附录列出了Java语言的保留字。

【关于卷Ⅱ(高级特性)】
第1章介绍了Java中的流。
第2章涵盖了输入/输出处理,包括读写文件和正则表达式。
第3章介绍了XML,展示如何解析XML文件、生成XML和使用XSL转换。
第4章讲解了网络API,以及怎样连接到服务器、实现自己的服务器、创建HTTP连接,并讨论了HTTP客户端。
第5章介绍了数据库编程,重点讲解JDBC,即Java数据库连接API。
第6章涵盖了如何使用日期和时间API来处理日期及时区。
第7章讨论了国际化。
第8章介绍了3种代码处理技术。
第9章讲解了从Java 9开始引入的Java平台模块系统,以促进Java平台和核心类库的有序演化。
第10章继续介绍了Java安全模型,展示怎样编写类加载器,以及如何使用消息摘要、代码签名、授权及加密等重要特性。
第11章讨论了高级Swing和图形化编程,包括表格构件、树构件、高级AWT,以及Java 2D API。
第12章介绍了本地方法,这个功能支持调用为微软Windows API这样的特殊机制而编写的各种方法。


返回顶部