标签:虚拟机

  • 偏向锁

    偏负锁 偏向锁和轻量级锁一样也是在JDK 1.6中新增的一种锁,它的目的是为了解决数据在无竞争的时候把同步语句去掉,进一步提高程序的运行性能。在上一篇中使我们知道轻量级锁是在无数据…

    2017年4月22日 0 143 0
  • 轻量级锁

    轻量级锁 在我们介绍轻量级锁之前,我们先来了解一下在虚拟机底层锁是怎么实现的。在其它文章中我们已经介绍过了,虚拟机对象头主要存储了两部分信息。一部分用于存储指向方法区对象类型数据的…

    2017年4月22日 0 137 0
  • 锁粗化

    锁粗化 我们在日常的多线程开发时,常常会把同步代码块的作用范围控制的尽量小,目的就是保证线程可以尽快的获得锁和释放锁,进而提高程序的运行效率。但是我们知道,线程在获取锁和释放锁时,…

    2017年4月22日 0 112 0
  • 锁消除

    锁消除 锁消除的意思是说虚拟机在运行时,虽然代码进行了同步,但是如果虚拟机检测到不存在数据竞争时,虚拟机就会自动把锁进行消除。锁消除主要的判定依据是如果堆上的所有数据都不会被其它的…

    2017年4月21日 0 116 0
  • 自旋锁

    我们在开发多线程时,为了解决线程安全问题,我们通常采用的方法就是用加锁的方式来解决。但我们知道虽然加锁的方式的确能够解决线程安全问题,但程序在运行时多多少少会有些性能的损耗,因为程…

    2017年4月21日 0 107 0
  • happens-before原则

    在Java中有一个很重要的原则,这个原则是判断线程是否存在数据竞争、线程是否安全的主要依据,这个原则就是happens-before原则。我们首先看一下到底什么是happens-b…

    2017年4月21日 0 116 0
  • 原子性、 可见性、有序性

    在其它文章中我们介绍了Java内存模型也就是JMM,在这一篇中我们主要来分享一下在JMM中是怎么保证线程的原子性、 可见性、有序性的。首先我们还是看一下它们相关的概念。 原子性 在…

    2017年4月20日 0 118 0
  • volatile变量

    关键字volatile是虚拟机提供的一种轻量级的同步机制,但在做多线程开发时,大部分的人都不太习惯喜欢用volatile,而是直接用关键字synchronized来进行同步。但有些…

    2017年4月20日 0 113 0
  • 内存模型

    在Java虚拟机中定义了一种内存模型也就是JMM。目的是屏蔽各种硬件和操作系统的内存差异,以解决Java跨平台时能达到统一的内存访问效果。下面我们了解一下在JMM中内存是怎么划分的…

    2017年4月20日 0 119 0
  • 字节码执行引擎

    在上一篇我们介绍了类加载器的相关功能,在这一篇中我们在分享一下虚拟机中的另一个非常重要的功能字节码执行引擎。我们知道Java虚拟机的主要任务就是加载class文件并执行其中的字节码…

    2017年4月14日 0 121 0

联系我们

邮件:admin@jilinwula.com

QQ:923505769

 

QR code