关键词:
进程、线程、安全性、活跃性、性能、死锁、饥饿、上下文切换摘要:并发编程并非 Java 语言所独有,而是一种成熟的编程范式,Java 只是用自己的方式实现了并发工作模型。学习 Java 并发编程,应该先熟悉并发的基本概念,然后进一步了解并发的特性以及其特性所面临的问题。掌握了这些,当学习 Java 并发工具时,才会明白它们各自是为了解决什么问题,为什么要这样设计。通过这样由点到面的学习方式,更容易融会贯通,将并发知识形成体系化。
关键词:
进程、线程、安全性、活跃性、性能、死锁、饥饿、上下文切换摘要:并发编程并非 Java 语言所独有,而是一种成熟的编程范式,Java 只是用自己的方式实现了并发工作模型。学习 Java 并发编程,应该先熟悉并发的基本概念,然后进一步了解并发的特性以及其特性所面临的问题。掌握了这些,当学习 Java 并发工具时,才会明白它们各自是为了解决什么问题,为什么要这样设计。通过这样由点到面的学习方式,更容易融会贯通,将并发知识形成体系化。
JDK8 升级常见问题章节是我个人的经验整理。其他内容基本翻译自 java8-tutorial
📦 本文以及示例源码已归档在 javacore
关键词:
Stream、lambda、Optional、@FunctionalInterface
enum 的全称为 enumeration, 是 JDK5 中引入的特性。
在 Java 中,被 enum 关键字修饰的类型就是枚举类型。形式如下:
1 | enum ColorEn { RED, GREEN, BLUE } |
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。几乎所有程序设计语言都支持数组。
数组代表一系列对象或者基本数据类型,所有相同的类型都封装到一起,采用一个统一的标识符名称。

Throwable 是 Java 语言中所有错误(Error)和异常(Exception)的超类。在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。
Throwable 包含了其线程创建时线程执行堆栈的快照,它提供了 printStackTrace() 等接口用于获取堆栈跟踪数据等信息。
本文内容基于 JDK8。注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解。
Java 中,注解是以 @ 字符开始的修饰符。如下:
List是Collection的子接口,其中可以保存各个重复的内容。
List 是一个接口,它继承于 Collection 的接口。它代表着有序的队列。
AbstractList 是一个抽象类,它继承于 AbstractCollection。AbstractList 实现了 List 接口中除 size()、get(int location) 之外的函数。
AbstractSequentialList 是一个抽象类,它继承于 AbstractList。AbstractSequentialList 实现了“链表中,根据 index 索引值操作链表的全部函数”。