深入理解Java虚拟机——同步指令

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解Java虚拟机——同步指令相关的知识,希望对你有一定的参考价值。

目录

一、同步指令的概述

  • Java虚拟机可以支持方法级的同步方法内部一段指令序列的同步,这两种同步结构都是使用管程(Monitor)来支持的。
  • 方法级的同步是隐式的,即无须通过字节码指令来控制,它实现在方法调用和返回操作之中。
  • 同步一段指令集序列通常是由Java语言中的synchronized语句来表示的,Java虚拟机的指令集中有monitorenter和monitorexit两条指令来支持synchronized关键字的语义,正确实现synchronized关键字需要Javac编译器与Java虚拟机两者共同协作支持。

二、同步指令的示例

  • 代码

    public class Test1
    	public static void main(String []args)
    		synchronized(Test1.class)
    			System.out.println("doSomething");
    			
    		
    	
    
    
  • 执行javac命令编译成.class文件

  • 执行javap命令查看字节码指令


以上是关于深入理解Java虚拟机——同步指令的主要内容,如果未能解决你的问题,请参考以下文章

深入理解java虚拟机第五部分高效并发

深入理解Java虚拟机——异常处理指令

深入理解Java虚拟机——异常处理指令

深入理解java虚拟机字节码指令简介

深入理解Java虚拟机——控制转移指令

深入理解Java虚拟机——控制转移指令