Java虚拟机面试题(三)有哪些常见问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计10043个文字,预计阅读时间需要41分钟。
“1+简要概述JVM内存结构(高频)+JVM在执行Java程序时,会将它管理的内存划分为若干个区域,每个区域都有其用途和生命周期。如图所示,可分为两大区域:运行时数据区和方法区。运行时数据区包括方法栈、本地方法栈和堆,用于存储运行时的数据和对象;方法区用于存储类信息、常量、静态变量等。
1 内存结构 1、简述一下JVM的内存结构?(高频)JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建销毁时间。如下图所示,可以分为两大部分,线程私有区和共享区。
线程私有区:
① 程序计数器
- 作用:是一块较小的内存空间,可以理解为是当前线程所执行程序的字节码文件的行号指示器,存储的是当前线程所执行的行号
- 特点:线程私有 ,唯一一个不会出现内存溢出的内存空间
② 虚拟机栈
- 作用:管理JAVA方法执行的内存模型。每个方法执行时都会创建一个栈桢来存储方法中变量的变量表、操作数栈、动态链接方法、返回值、返回地址等信息。
本文共计10043个文字,预计阅读时间需要41分钟。
“1+简要概述JVM内存结构(高频)+JVM在执行Java程序时,会将它管理的内存划分为若干个区域,每个区域都有其用途和生命周期。如图所示,可分为两大区域:运行时数据区和方法区。运行时数据区包括方法栈、本地方法栈和堆,用于存储运行时的数据和对象;方法区用于存储类信息、常量、静态变量等。
1 内存结构 1、简述一下JVM的内存结构?(高频)JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建销毁时间。如下图所示,可以分为两大部分,线程私有区和共享区。
线程私有区:
① 程序计数器
- 作用:是一块较小的内存空间,可以理解为是当前线程所执行程序的字节码文件的行号指示器,存储的是当前线程所执行的行号
- 特点:线程私有 ,唯一一个不会出现内存溢出的内存空间
② 虚拟机栈
- 作用:管理JAVA方法执行的内存模型。每个方法执行时都会创建一个栈桢来存储方法中变量的变量表、操作数栈、动态链接方法、返回值、返回地址等信息。

