并发
文章平均质量分 89
Java并发编程
ShaoZG_金刚钻
这个作者很懒,什么都没留下…
展开
-
网络IO——BIO、NIO
学习整理源自:https://blog.csdn.net/vtopqx/article/details/88115899原创 2021-03-29 00:26:13 · 162 阅读 · 4 评论 -
Synchronized以及锁的状态
Java对象头以Hotspot虚拟机为例,对象头包括标记字段Mark Word和类型指针Klass Pointer。Mark Word:默认存储对象的HashCode,分代年龄、锁标志位信息。这些信息与对象自身定义无关。Klass Point:对象指向它的类元数据的指针,虚拟机通过该指针来确定这个对象是哪个类的实例。Monitorsynchronized获取对象的监视器锁,如果该监视器锁计数器为0表示没有被持有,则该线程获取锁(monitorenter),并将计数器加1;当该线程再次获取同一个原创 2021-02-21 02:25:45 · 432 阅读 · 1 评论 -
悲观|乐观锁、自旋|互斥锁、公平|非公平锁
解析锁——悲观|乐观锁、自旋|互斥锁、公平|非公平锁悲观锁总认为最坏的情况可能会出现,即认为数据很可能会被他人修改,因此在持有数据时总是先把资源或数据锁住。这样其他线程要请求这个资源时就会阻塞,直到悲观锁释放资源。关系型数据库中应用比较广泛,如行锁、表锁、读锁、写锁等都是在操作前先上锁。Java中的Synchronized和ReentrantLock等独占锁也属于悲观锁。读写都加锁,导致其性能较低,对于现在互联网的高性能、高可用、高并发来说,悲观锁应用的越来越少了,但是对于多写场景还是必要使用悲观原创 2021-02-20 00:40:08 · 155 阅读 · 1 评论