前言

Java已诞生20多年,经典书籍Core Java(《Java核心技术》)卷Ⅰ和卷Ⅱ用2000多页全面细致地介绍了Java语言和所有核心类库,以及各版本之间的大量变化。但是如果你想更高效地使用现代Java,那么这本《写给大忙人的Java SE 9核心技术》提供了一种更快、更方便地学习Java语言和核心类库的途径。在本书中,我们不会追溯历史一直介绍过去版本的特性。我们将通过Java9,展示现代Java中的“优秀之处”,因此你可以快速地将它们应用到工作中。

《写给大忙人的Java SE 9核心技术》是经典著作《Java核心技术》(Core Java)作者Cay S. Horstmann的全新力作,书中以关键的核心技术为着眼点,以全局高度提炼语言精髓,以高浓度、高含金量的方式对Java SE 9的新特性进行细致讲解。

作者将其沉浸于Java多年的真知灼见蕴藏于书中,既扎实覆盖Java编程的基础知识,又独具匠心地从Java 9及其重要的新特性之一——模块发端,带领读者一路探索和实践Java 的诸多新特性,诸如JShell、集合类工厂方法、改进的Stream API、私有接口、HTTP/2、并发编程中的增强部分、全新的时间/日期API,以及脚本语言在Java中的使用。“Impatient”系列图书风格鲜明,除悉数出自大师之手外,更以文笔轻松、易读易懂、富含生动且可用于实践的示例程序(下载源代码后可直接运行)而见长。这种亲身实践的讲授模式,非常便于读者加深对技术的理解和掌握。初学者可用来参考入门;有开发经验者也可用来巩固编程核心知识,与时俱进地把握技术发展现状与未来趋势。

 

本书适合有一定Java开发经验的工程师或者架构师阅读,也可以作为Java新特性的参考手册。一键三连后,添加小助理即可获取完整版的资料哦

内容简介

第1章 基本的编程结构 :在本章中,你将学习Java语言基本的数据类型和控制结构。假设你是有其他语言经验的程序员,熟悉诸如变量、循环、函数调用和数组之类的概念,也许会觉得语法稍有不同。本章会加速你的Java学习进程。我也会提示你,如何使用Java API中最有用的就分出0制食同的炒报粘性

 

第2章 面向对象编程:在面向对象编程中,通过对象间的协作完成工作,这些对象的行为是由它们所属的类定义的。Java是第一个完全拥有面向对象编程的主流编程语言。正如你已经看到的,在Java中,所有方法必须在类中声明;除了几个基本类型外,所有的值都是对象。本章将会介绍如何实现自己的类和方法。

 

第3章 接口和lambda表达式:在面向对象编程之前,有一些诸如Lisp之类的函数式编程语言。在函数式编程语言中,函数,而不是对象,是主要的组织结构。近来,因为函数式编程非常适合并发和事件驱动{“反应式”」编程,其重要性有所提升。Java支持函数表达式,这为面向对象和函数式编写之间提供了一个便捷的桥梁。在本章中,你将学习接口和lambda表达式。

 

第4章 继承与反射 :前面介绍了类和接口。在本章中,你将学习面向对象编程的另一个基本概念:继承。继承是在现有类的基础上创建新类的过程。当你继承一个类时,你也就重用(或者继承)了它的方法,而且你还可以添加新的方法和域。

 

第5章 异常、断言和日志处理:在许多程序中,处理异常情况比实现“happy day”情形要复杂得多。如同大多数现代编程语言一样,Java语言有着健壮的异常处理机制,将控制权从出错点转移给强壮的错误处理器。除此之外,assert语句提供了一个结构化的并且有效的方式,以表达内部假设。最后,你将看到如何在程序中使用日志API来记录不同事件〔不管是常见的还是可疑的)。

 

第6章 泛型编程:在Java中,泛型编程比预想的要复杂,因为泛型特性是在Java已经诞生了一段时间后才添加的,并且泛型被设计为向后兼容。结果,存在很多不幸的限制,其中的一些会影响到所有Java程序员。另外一些只影响泛型类的实现。详情参见6.5节和6.6节。最后一节覆盖了泛型和反射,如果你在程序中不使用反射,则可以安全地跳过它。

 

第7章 集合 :Java已经开发了很多数据结构,程序员可以使用它们高效地存取数值。Java API提供了常用数据结构和算法的实现,以及组织数据结构和算法的框架。本章将介绍如何使用列表、sct、映射( map)和其他集合。

 

第8章 Stream:流( Stream)提供了数据视图,让你可以在比集合更高的概念层上指定操作。使用流程,只需要指定做什么,而不是怎么做。操作的具体调度执行留给实现。例如,假设你想要计算某个属性的平均值。这时,你只需指定数据源和属性,然后流类库会优化计算,比如使用多线程来求和、计数以及合并结果。

 

第9章 输入与输出处理:在本章中,我们将了解如何操作文件、目录和网页,以及如何以二进制和文本方式读写数据。本章也会介绍对处理输入很有用的正则表达式(找不到更好的适合讨论正则表达式的章节,当提出正则表达式API规范时,它被附加到“new LO”特性的规范需求部分)。本章末尾会介绍让你可以存储对象就如同存储文本或数字一样容易的对象序列化机制。

 

第10章 并发编程 :本章介绍如何将计算划分到并发任务中以及如何安全地执行它们。我们主要关注应用程序开发人员的需求,而不是开发Web服务器或者中间件的系统程序员的需求。因此,本章内容尽可能展示那些应该在工作中使用的工具。我们在本章后面涵盖较底层的一些概念。了解这些底层细节也非常有用,这样你对某些操作所需的代价就会有个大概了解。但是,最好将底层的多线程编程交给专家来做。

 

第11章 注解:在本章中,你将学习注解语法的细节、如何定义自己的注解,以及如何编写工作在代码级或者运行时的注解处理器。

 

第12章 日期和时间API:本章将介绍到底是什么原因使得时间的处理这么复杂,以及如何使用新的Date和Time API解决了这些问题。

 

第13章 国际化:外面的世界很大,并且我们希望不同地区的人们会对我们的软件很感兴趣。—些程序员以为支持国际化就是程序使用Unicode和翻译消息。然而,你将会看到国际化编程除了支持Unicode和翻译消息外还有许多要考虑的事情。日期、时间、货币甚至数字格式在不同地方都是不同的。本章将介绍如何使用Java的国际化功能帮助我们的程序以用户所在地的方式展现和接收信息(不管这些用户是哪里的)。本章末尾还将概括介绍用来存储用户喜好信息的Java首选项API。

 

第14章 编译与脚本:在本章中,你会学习如何使用编译器API从程序内部编译Java代码。你也会学习使用脚本API,如何从Java程序中运行用其他语言编写的程序。如果你想让用户具备使用脚本扩展增强程序功能的能力,本章是非常有用的。

 

第15章 Java平台模块系统:无论你是否在自己的应用程序中使用Java平台模块,多多少少都会受到Java平台模块化思想的影响。本章将向你介绍如何声明和使用Java平台模块;还会介绍如何迁移你的应用程序,以便使用模块化的Java平台和第三方模块。

 

这份“写给大忙人的Java SE 9核心技术”文档共有531页,需要完整版的小伙伴,一键三连后添加小助理获取完整版本的资料哦