我是靠谱客的博主 强健天空,最近开发中收集的这篇文章主要介绍重新认识一下JVM、JMM、JOM,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JVM:Java virtual machine(java虚拟机)

 

我们都知道java语言是可以夸系统的,正是使用虚拟机技术,java可以编译成虚拟机可以识别的指令,然后在虚拟机上运行。不同的系统统一遵循java虚拟机规范(https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-1.html)实现对应的虚拟机,当然,不同的厂商实现的java虚拟机也可以不同。

JVM运行时内存区域结构:

除了已上区域外,还有一块儿直接内存,使用NIO时运用比较多

 

JMM:Java memory modle(java内存模型)

java内存模型和JVM很容易混淆,不过也可以说java内存模型是隶属于jvm的,因为java内存模型不像jvm那样真是存在的结构,它只是一种规范,描述jvm中多个线程如何相关协调的工作,具体来说就是如果通过共享变量来实现相互可见性。而这其中就涉及到jvm的内存结构。

简单总结下,Java的多线程之间是通过共享内存进行通信的,而由于采用共享内存进行通信,在通信过程中会存在一系列如可见性、原子性、顺序性等问题,而JMM就是围绕着多线程通信以及与其相关的一系列特性而建立的模型。JMM定义了一些语法集,这些语法集映射到Java语言中就是volatile、synchronized等关键字。

https://blog.csdn.net/suifeng3051/article/details/52611310

JOM:Java object model(java对象模型)

从字面上理解,java对象模型就是一个java对象(instance)在jvm中是如果组织构成的,包括哪些部分。

HotSpot虚拟机中,设计了一个OOP-Klass Model。OOP(Ordinary Object Pointer)指的是普通对象指针,而Klass用来描述对象实例的具体类型。

https://blog.csdn.net/linxdcn/article/details/73287490

最后

以上就是强健天空为你收集整理的重新认识一下JVM、JMM、JOM的全部内容,希望文章能够帮你解决重新认识一下JVM、JMM、JOM所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部