Java 虚拟机运行时数据区
- 程序计数器(Program Counter Register)
- 本地方法栈(Native Method Stack)
- Java 虚拟机栈(VM Stack)
- Java 堆(Heap)(线程共享)
- 方法区(Method Area)(线程共享)

Collection接口
|———— List接口
|———— ArrayList类
|———— Vector类
|———— LinkedList类
|———— Stack类
|———— Set接口
|———— HashSet类
|———— TreeSet类
|———— LinkedHashSet类
|———— Queue接口
|———— LinkedList类
Map接口
|———— HashMap类
|———— TreeMap类
|———— LinkedHashMap类
|———— Hashtable类主要根据集合的特点来选用:
SYN包(syn=j)到服务器,并进入SYS_SEND状态,等待服务器确认;SYN包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即 SYN+ACK包,此时服务器进入SYN_RECV状态;SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务端进入ESTABLISHED状态,完成三次握手。FIN(seq=u),用来关闭客户端到服务器的数据传送,客户端进入FIN_WAIT_1状态;FIN,发回一个ACK(ack=u+1),确认序号为收到的序号+1(和SYN一样,一个FIN将占用一个序号),服务端进入CLOSE_WAIT状态;FIN(seq=w),用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态;FIN,发回一个ACK(ack=w+1),将确认序号设置为收到序号+1,客户端进入TIME_WAIT状态,服务端进入CLOSED状态,完成四次挥手。Socket是对TCP/IP协议的抽象,是操作系统对外开发的接口