Java 虚拟机的运行机制,理解 Java 内存模型

JVM启动流程:

1、java+xxx启动虚拟机

2、jvm查找虚拟机的配置jvm.config 

3、根据配置找到jvm.dll,jvm.dll为jvm的主要实现

4、初始化获得JNIEnv接口,finClass等通过它实现。

5、找到main方法并执行。

jvm内存空间分为:

方法区、java堆,java栈,本地方法栈,PC寄存器。

如下图:


Java 虚拟机的运行机制,理解 Java 内存模型_第1张图片

Java 内存模型:

      java内存模型称为jmm,是一种java虚拟机保证数据一致性的规范,为了解决多线程通过共享内存通信导致的数据不一致的问题。

    jmm规定了所有的变量都保存在主内存中,每个线程有自己的本地内存,本地内存保存着局部变量和葱主内存中拷贝的副本。线程不能直接操作主内存,只能操作本地内存中的副本,然后同步到主内存中。线程之间需要通信的话需要先更改本地内存副本,然后同步到主内存中,然后另一个线程从主内存中读取数据。


Java 虚拟机的运行机制,理解 Java 内存模型_第2张图片

https://blog.csdn.net/qq_34964197/article/details/80937147

https://www.cnblogs.com/wslook/p/9126569.html

你可能感兴趣的:(Java 虚拟机的运行机制,理解 Java 内存模型)