学习目录
##集合类
- ArrrayList
- HashMap
- LinkedList
- Queue
- Set
- java集合类框架
J.U.C 锁
J.U.C 并发容器
J.U.C 多线程任务调度,线程池
IO & NIO
Socket 和 网络编程
常用的Java工具库
- commons.lang
- commons.*
- guava-libraries
- netty
- JXLS
关于学习的思考
规范和规范解读类书籍
例如 <<jvm规范>> 和 <<深入理解java虚拟机>>
jvm规范 侧重 讲解 这个概念是什么,没有多余的讲解,只讲概念的定义。不解释,不推导。其实解释和推导,是定制概念之前要做事。一旦一个概念推导定义了,就成了相应的规范。规范是指导实现的基石。所以对于规范性质的文档,就是把定义讲清楚,说明白。同时规范的读者应该是具体实现的人员,例如 JVM 的实现者。自然中间不会提到实现的情况,例如不会说 hotspot 中如何如何。因为,实现是规范这个文档发布之后的事情。规范编写和发布时自然就不存在任何实现了。
深入理解java虚拟机 这本书的目的是讲解 jvm 的内部,其对象是 JVM的使用者,也就是使用 java 进行编码工作的人员。所以对于编码人员来说,了解实现,比较了解规范来说更加有有利于加深理解。所以这本书除了讲解规范的定义,还要讲解为什么,进行一些论证。同时还会提到具体某个实现,例如 hotspot 中是如何做的。
那么,对于这两类书籍如何来阅读呢?以 规范 为主线,这样对最基本的概念就有了明确而清晰的认识。然后,其中若有概念无法理解,它为什么这样做,就可以借助 深入 类书籍,加深理解。
例如:对于 class 文件中前四个字节,被称为 magic number 用来标识这个文件是 class 文件。这四个字节是:0xCAFEBABE 。规范告诉我们是就是这些,它已经做到,它需要做的事了: 定义 magic number 是 什么: 是 0xCAFEBABE。 至于为什么为选择这四个字节,这不是规范所要做的事情,此时,就可以借助 深入 类书籍,它里面就讲了这个 魔数 背后的故事。
资源
书籍下载: