Zhao Zhengyang

《Java核心技术》笔记 卷II 第2章 输入和输出

本章将介绍用于输入和输出的Java API。你将学习如何访问文件和目录,以及如何以二进制和文本格式来读写数据。本章还会介绍对象序列化机制。最后将讨论正则表达式。 2.1 输入/输出流 在Java API中,可以从其中读取字节序列的对象称为输入流(input stream),可以向其中写入字节序列的对象称为输出流(output stream)。这些字节序列的来源和目的地可以是文件、网络连接,...

《Java核心技术》笔记 卷II 第9章 Java平台模块系统

Java 9引入了Java平台模块系统。它是为了模块化大型Java代码库而设计的。如果愿意,也可以使用这个系统来模块化自己的应用。 本章将展示如何声明和使用Java平台模块。还将介绍如何迁移你的应用程序,使其与Java平台和第三方模块一起工作。 9.1 模块概念 面对规模巨大、盘根错节的代码,Java平台设计者认为他们需要一种能够提供更多控制的结构化机制。他们发现现有的模块系统(例如OS...

《Java核心技术》笔记 卷II 第6章 日期和时间API

Java 1.0有一个Date类,事后证明它过于简单了。当Java 1.1引入Calendar类之后,Date类的大部分方法就被弃用了。但是Calendar的API并不出色,它的实例是可变的,并且没有处理闰秒之类的问题。第三次升级是Java 8中引入的java.time API,它弥补了过去的缺陷。在本章中,你将了解是什么使时间计算如此烦人,以及日期和时间API是如何解决这些问题的。 6....

《Java核心技术》笔记 卷II 第1章 流

与集合相比,流(stream)提供了一种可以在更高的概念级别指定计算的数据视图。通过使用流,只需指定想要做什么,而不是如何做。 本章将介绍如何使用Java的流库,它是在Java 8中引入的,用来以 “what, not how” 的方式处理集合。 1.1 从迭代到流操作 在处理集合时,通常会迭代它的元素,并对每个元素执行某项操作。例如,假设想统计一本书中的长单词数量: var cont...