
高并发与多线程
文章平均质量分 92
小潭渔
这个作者很懒,什么都没留下…
展开
-
深入理解多线程(三)— Java的对象头
深入理解多线程(三)— Java的对象头在Java对象模型文章中我们以HotSpot虚拟机来简单的介绍了Java的对象模型。本文我们就基于上一篇文章来简单的介绍Java的对象头。主要介绍一下对象头的作用,结构以及他和锁的关系。1. 概述每一个Java类,在被JVM加载的时候,JVM会给这个类创建一个instanceKlass,保存在方法区,用来在JVM层表示该Java类。当我们在Jav...原创 2018-05-09 10:37:55 · 875 阅读 · 0 评论 -
深入理解多线程(四)— Moniter的实现原理
深入理解多线程(三)— Moniter的实现原理在深入理解多线程(一)—Synchronized的实现原理中介绍过关于Synchronize的实现原理,无论是同步方法还是同步代码块,无论是ACC_SYNCHRONIZED还是monitorenter、monitorexit都是基于Monitor实现的,接下来我们就详细介绍下什么是Monitor。1. 操作系统中的monitors管程(m...原创 2018-05-09 10:55:25 · 9130 阅读 · 4 评论 -
深入理解多线程(五)— Java虚拟机的锁优化技术
深入理解多线程(五)— Java虚拟机的锁优化技术在深入理解多线程(四)— Moniter的实现原理文章的最后,我们说过,事实上,只有在JDK1.6之前,synchronized的实现才会直接调用ObjectMonitor的enter和exit,这种锁被称之为重量级锁。 高效并发是从JDK 1.5 到 JDK 1.6的一个重要改进,HotSpot虚拟机开发团队在这个版本中花费了很大的精力去对...原创 2018-05-09 11:45:44 · 435 阅读 · 0 评论 -
深入理解多线程(一)—Synchronized的实现原理
深入理解多线程(一)—Synchronized的实现原理synchronized,是Java中用于解决并发情况下数据同步访问的一个很重要的关键字。当我们想要保证一个共享资源在同一时间只会被一个线程访问到时,我们可以在代码中使用synchronized关键字对类或者对象加锁。我想在我们刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchroniz...原创 2018-05-04 21:26:00 · 877 阅读 · 0 评论 -
深入理解多线程(二)— Java的对象模型
深入理解多线程(二)— Java的对象模型深入理解多线程(一)—Synchronized的实现原理文章中我们简单介绍过synchronized关键字,通过介绍我们了解到同步代码块使用monitorenter和monitorexit两个指令实现,同步方法使用ACC_SYNCHRONIZED标记符实现。接下来我们将会从JVM源码的角度更加深入的来分析synchronized的具体实现原理。 在进...原创 2018-05-07 09:50:29 · 1105 阅读 · 1 评论