- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 JDBC
JDBC的连接: String driverClassName = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/mytb"; String username = "root"; String password = "123"; Class.forName(driverClassNam...
2019-04-30 11:18:29 136
原创 深度解析:AQS原理
AQS的全称是AbstractQueuedSynchrizeder(抽象队列同步器)。它是为实现依赖于先进先出等待队列的阻塞锁和各种同步器(Semaphore,CountdownLatch,CyclicBarrier,Exchanger等等)而提供的一种基础框架。 它内部有一个int类型的state变量,被volatile关键字修饰,保证线程之间的可见。还会维护一个Node内部类(用于生...
2019-04-30 11:12:55 6807 10
原创 深度解析:Condition实现原理
Condition指的就是ConditionObject,是AQS的一个内部类。ConditionObject的原理是基于AQS的Node内部类维护了两个队列,一个等待队列,一个同步队列;一个是单向队列,一个是双向队列。 如果某个线程调用了await方法之后,就会使当前线程进入到等待状态,原理就是先获取当前线程的状态,然后生成一个Node节点,将当前节点加入到等待队列中。它会先判断等待队列是否存在头节点,如果没有头节点的话,就说明当前等待队列的链表为空,那么就会将当前的节点设置成头节点,为节点也指向这..
2019-04-30 09:37:48 515
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人