Zhao Zhengyang

《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...

《Java核心技术》笔记 卷I 第12章 并发

多任务(multitasking)是操作系统可以(看起来)在同一时刻运行多个程序的能力。例如,在编辑邮件的同时可以打印文件。操作系统会为每个进程分配CPU时间片,给人并行处理的感觉。 多线程在更低一层扩展了多任务的概念:一个程序看起来在同时执行多个任务。每个任务在一个线程(thread)中执行,线程是控制线程(thread of control)的简称。可以同时运行多个线程的程序称为多线程...

《Java核心技术》笔记 卷I 第11章 Swing用户界面组件

本章首先介绍Swing的底层架构。然后会介绍Swing中最常用的用户界面组件,如文本框、单选按钮和菜单等。接下来,你会了解如何使用布局管理器排列这些组件。最后将介绍如何在Swing中实现对话框。 本章涵盖基本的Swing组件。高级Swing组件将在卷II第11章介绍。 11.1 Swing和MVC设计模式 思考以下构成用户界面组件的各个组成部分: 内容(如按钮是否按下、文本框中的文...