Thread的几种状态以及sleep/yield/join/wait/notify/notifyAll方法的区别
# 线程状态
Java 的 Thread 类中对线程的状态有如下定义:
public enum State { | |
NEW, | |
RUNNABLE, | |
BLOCKED, | |
WAITING, | |
TIMED_WAITING, | |
TERMINATED; | |
} |
Java 源码--HashMap
# HashMap 结构
HashMap 采用数组 + 链表 + 红黑树的存储结构。当一个键值对要存储到 HashMap 中时,HashMap 会根据它的键值的哈希值映射到数组的某个位置。如果发生了哈希碰撞,就以链表的形式接在碰撞元素的后边。当链表过长时,就会转变为红黑树。
Java 源码--LinkedList
LinkedList 类继承了 AbstractSequentialList 抽象类,实现了 List、Deque、Cloneable、Serializable 接口。由此可以看出,LinkedList 也是一种双端队列。
LinkedList 是基于链表实现的,每个元素是一个结点。
Java 源码--ArrayList
ArrayList 类继承了 AbstractList 抽象类,AbstractList 抽象类对于一些通用的方法提供了默认实现。ArrayList 类实现了接口 List、RandomAccess、Cloneable 和 Serializable。后三者都是语义标志接口,不提供任何实现,标记这个类具有某种功能。RandomAccess 标记类具有随机访问的功能,Cloneable 标记类具有克隆功能,Serializable 标记类具有序列化功能。
Windows下Thrift安装与简单使用
# 安装
下载
下载地址:
http://archive.apache.org/dist/thrift/0.10.0/
。将 thrift-0.10.0.exe 放到一个文件下,如 F:\thrift 下,将其重命名为 thrift.exe。如果不重命名,需要使用 thrift-0.10.0 调用 thrift 命令。