当前位置:首页 > 内存 > 正文

jvm内存区域1.8

  • 内存
  • 2024-05-23 03:53:49
  • 125

一、详解JVM内存结构组成

你了解JVM内存结构吗?我给大家分享一下JVM内存结构。它主要由两个子系统组成,这两个组件分别是Runtimedataarea(运行时数据区)和Nativeinterface(本地接口)组件。)组件

JVM内存结构

我最近研究了一些Java内存泄漏,并与一些最初是我的朋友讨论了它们。经过广泛的研究,我找到了它。JVM中还有很多以前不为人知的细节。以下是一些细节。为了分析,我们首先看一下JVM的内部结构——

 

如,JVM内存结构主要由两个子系统和两个组件组成。这两个子系统是Classloader子系统,而Executionengine(执行引擎)子系统的两个组件是Runtimedataarea(运行时数据区)组件和组件。Nativeinterface组件

Classloader子系统的作用

根据给定完全限定的类名(例如javalangObject)。Java程序员可以扩展javalangClassLoader类来编写自己的ClassLoader

执行引擎子系统角色

与原生库的交互是其他编程语言与之交互的接口。当你调用原生方法时,你就进入了一个不再受虚拟机限制的新世界。因此,本土化也很容易。heapOutOfMemory无法被JVM组件控制

RuntimeDataArea

这就是我们通常所说的JVM内存,主要分为五个部分——

Heap只有一个Java虚拟实例中的堆区

MethodArea加载的类的信息保存在Methodarea的内存中,虚拟机加载某个类型时,会使用一个Loader类,定位到对应的类文件,然后读取JavaStack虚拟机(javastack)只会在框架单元中直接执行Javastack上的两个操作。压入或弹出堆栈

程序计数器(ProgramCounter)每个线程都有自己的PC寄存器,在线程启动时创建,该寄存器始终指向下一条要执行的指令。。地址这里的地址可以是本地指针,也可以是方法区中方法起始指令对应的偏移量

Nativemethodstack(本地方法栈)存放的是方法根公式进入区域的地址

lixixinzhi/Articles/programs/Java/hx/201311/26038