Java NIO 始于Java 1.4,提供了新的Java IO操作非阻塞APi。 用意是替代Java IO 和 Java Networking...
BIO - 阻塞IO的含义 阻塞(blocking) IO: 资源不可用时,IO请求一直阻塞,直到反馈结果(有数据或超时)。 非阻塞(non-b...
OSI网络七层模型 分成七层的目的就是为了让每一层的开发人员或者说系统设计硬件也好软件也好不需要去关心整个网络层次 各层的主要功能 物理层:物理...
HashMap HashMap 虽然Hashtable是一个线程安全的类,但性能不高,在高并发的场景下使用ConcurrentHashMap C...
Semaphore 又称“信号量”,控制多个线程争抢许可。 acquire: 获取一个许可,如果没有就等待。 release: 释放一个许可。 ...
什么是AQS AQS(AbstractQueuedSynchronizer),AQS是JDK下提供的一套用于实现基于FIFO等待队列的阻塞锁和相...
Lock的核心API 方法描述lock获取锁的方法,若锁被其他线程获取,则等待(阻塞)lockInterruptibly在锁的获取过程中可以中断...
Java中锁的概念 自旋锁:为了不放弃CPU执行事件,循环的使用CAS技术对数据尝试进行更新,直至成功。 悲观锁:假定会发生并发冲突,同步所有对...
竞态条件与临界区 多个线程访问了相同的资源,向这些资源做了写操作时,对执行顺序有要求。 临界区: incr 方法内部就是临界区域,关键部分代码的...