java_study3

119 阅读1分钟

读取和赋值是原子化操作,使用synchronized和lock

不可变:final,String,枚举,number如Long,Double,Bigdecimal和Biginterger

大部分的线程安全类都属于相对线程安全vector,HashTable

API中大部分的类都是线程兼容的ArrayList,HashMap

线程安全:互斥同步,非阻塞同步

实现方法 

  • 互斥同步: synchronized 和 ReentrantLock
  • 非阻塞同步: CAS, AtomicXXXX
  • 无同步方案: 栈封闭,Thread Local,可重入代码

JUC锁,集合,线程池,工具类

IO

字节流 utf8 3个字节

文件,数组,管道操作,基本数据类型,缓冲操作,打印,对象序列化反序列化,转化

Unix IO模型:

  • 阻塞式 I/O
  • 非阻塞式 I/O
  • I/O 复用(select 和 poll)
  • 信号驱动式 I/O(SIGIO)
  • 异步 I/O(AIO)

NIO的开源框架:Netty