
java基础
盒马瞎操心
这个作者很懒,什么都没留下…
展开
-
Java并发指南6:AQS中的公平锁与非公平锁,Condtion
公平锁和非公平锁只有两处不同 非公平锁在调用 lock 后,首先就会调用 CAS 进行一次抢锁,如果这个时候恰巧锁没有被占用,那么直接就获取到锁返回了。 非公平锁在 CAS 失败后,和公平锁一样都会进入到 tryAcquire 方法,在 tryAcquire 方法中,如果发现锁这个时候被释放了(state == 0),非公平锁会直接 CAS 抢锁,但是公平锁会判断等待队列是否有线程处于等待状态,...原创 2019-09-10 21:42:37 · 693 阅读 · 0 评论 -
Java并发指南2:ThreadLocal
ThreadLocal是线程变量,在多线程环境下,可以保证各个线程之间的变量互相隔离、相互独立。 ThreadLocal常用方法介绍: ThreadLocal提供了set和get访问器用来访问与当前线程相关联的线程局部变量。 每个线程中都有一个ThreadLocalMap数据结构,在线程中,可以通过ThreadLocal的get()/set()方法来访问变量。 (ThreadLocal只有一个,...原创 2019-09-03 18:03:27 · 153 阅读 · 0 评论 -
重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化(explain)
磁盘IO与预读 磁盘读取数据靠的是机械运动 每次读取数据花费的时间可以分为 ①寻道时间:磁臂移动到指定磁道所需要的时间 ②旋转延迟:旋转延迟就是我们经常听说的磁盘转速 ③传输时间:传输时间指的是从磁盘读出或将数据写入磁盘的时间 考虑到磁盘IO是非常高昂的操作,计算机操作系统做了一些优化,当一次IO时,不光把当前磁盘地址的数据,而是把相邻的数据也都读取到内存缓冲区内,因为局部预读性原理告诉我们,当计...原创 2019-08-26 19:13:16 · 137 阅读 · 0 评论