jvm结构

Posted 变换

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm结构相关的知识,希望对你有一定的参考价值。

java虚拟机运行时数据区:

             线程共享:方法区,堆,本地方法库。

             线程私有的内存:虚拟机栈,本地方法栈,程序计数器。

 

1)线程共享

 

方法区:

    用来存储被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。被所有线程共享。

 

堆:

    内存最大的一块,被所有线程共享。存放对象实例和数组。是垃圾收集器管理的主要区域。

 

本地方法:

    Native方法服务。调用第三方实现的方法。和虚拟机栈一样,也会出现栈区域溢出的异常。

 

2)线程私有的内存

 虚拟机栈:

    和线程的生命周期相同。描述的是java方法执行的内存模型。每个方法在执行的时候都会创建一个栈帧,用于存储局部变量表,操作栈数,动态链接,方法

出口等信息。

本地方法栈:  

    本地方法栈加载本地方法进来。

程序计数器:

  没有内存溢出情况。记录执行当前线程字节码的行号。

    

以上是关于jvm结构的主要内容,如果未能解决你的问题,请参考以下文章

JVM-体系结构

JVM的结构

JVM整体结构-java栈详解

你真的懂JVM内存结构吗?—深入理解JVM之内存结构

JVM体系结构概述

JVM内存结构