首页 > 试题广场 >

说说你了解的JVM内存模型

[问答题]
说说你了解的JVM内存模型
类加载子系统:根据全限定名来载入类; 执行引擎:执行那些被载入类的方法的指令; 运行时数据区:在程序运行时,存储程序的内容,例如:字节码、对象、参数、返回值等。运行时数据区又分为方法区、堆、栈、程序计数器
发表于 2022-04-26 15:19:41 回复(0)
JVM由三部分组成:类加载子系统、执行引擎、运行时数据区 1、类加载子系统:可以根据指定的全限定名来载入类或接口。 2、执行引擎:负责执行那些包含在被载入类的方法中的指令。 3、运行时数据区:分为方法区、堆、虚拟机栈、本地方法栈、程序计数器。当程序运行时,JVM需要内存来存储许多内容,例如:字节码、对象、参数、返回值、局部变量、运算的中间结果等,把这些东西都存储到运行时数据区中,以便于管理。
发表于 2022-05-01 17:15:50 回复(0)
1:类装载子系统:主要通过类的全限定名来加载类 2:字节码执行引擎:是用于执行被载入类的方法的指令。 3:运行时数据区:主要包括虚拟机栈(又叫线程栈,每有一个线程就会创建一个线程栈,主要存储用于线程操作的数据,分为局部变量表,操作数栈,动态链接和方法出口),本地方法栈(和虚拟机栈类似,它主要用于存储本地方法中的一些相关数据),程序计数器(用于记录正在执行的虚拟机字节码指令的位置或地址),堆(主要用于存储创建出来的对象,是垃圾回收的主要区域)和方法区(存储已经被加载的类信息,常量,静态变量等,也是垃圾回收的主要区域);
发表于 2022-05-12 10:43:18 回复(0)
这说的不是内存结构吗?内存模型不应该是多线程相关的吗,像工作内存、主内存
编辑于 2022-09-20 23:43:30 回复(0)
JVM由三部分组成:类加载子系统,执行引擎,运行时数据区。 类加载子系统可以根据限定名来加载类或者接口。包括加载(选择类加载器),链接(准备,验证,解析),初始化 执行引擎负责执行哪些包含在被载入类的方法中的指令,主要充当高级语言和机器语言的翻译,主要包括编译器和解释器。 运行时数据区用来存储程序运行时用到的许多内容,字节码,对象,参数,返回值,局部变量,运算的中间结果等等。运行时数据区主要包括五个部分:堆,方法区,程序计数器,本地方法栈,虚拟机栈。
发表于 2022-05-07 15:00:09 回复(0)
JVM内存模型包括:程序计数器、本地方法栈、虚拟机栈(栈区)、方法区(元空间)和堆(注:都存放在运行时数据区中)。程序计数器、虚拟机栈、本地方法栈是每个线程所独有的。程序计数器存放的是下一条要执行的指令的地址 。本地方法栈存放的是native方法。虚拟机栈中每调用一个方***创建一个栈帧,存放的是局部变量、方法等。堆存放的是对象和数组。方法区存放的是静态变量、常量、常量池等。
编辑于 2023-05-16 14:03:11 回复(0)
类加载子系统:根据全限定名来载入类; 执行引擎:执行那些被载入类的方法的指令; 运行时数据区:在程序运行时,存储程序的内容包括字节码,返回值,对象等,它又被分为堆,栈,方法区,本地方法栈和pc,只有堆和方法区是线程共享的内存区域,其他都是线程私有的区域;在jvm内存调优时,只有在堆区域中调优。堆存放new的对象和数组,栈存放对象的引用和基本的数据类型,方法区存放是常量,类模板class和静态变量。本地方法栈是调用本地接口JNI,pc是就是一个指针,指向方法区中的方法字节码。
发表于 2023-02-28 15:38:26 回复(0)
内存模型由类加载子系统,运行时数据区,执行引擎,本地库接口组成,运行时数据区又分为 方法区,堆, 虚拟机栈,本地方法栈,程序计数器。 其中栈,程序计数器是单线程独享的内存,随线程创建和销毁而存在,销毁。执行引擎执行那些被载入类的方法的指令;方法区和堆是线程之间共享的内存区域,
发表于 2022-06-06 16:36:49 回复(0)
JVM由三部分组成:类加载子系统、执行引擎、运行时数据区
发表于 2023-08-01 14:13:01 回复(0)
jvm主要有三个组件。类加载系统,运行时数据区,执行引擎。类加载系统主要负责加载类或者接口,执行引擎负责执行被载入类方法中的指令。运行时数据区:主要存放程序运行过程中的一些变量,方法,运算结果,对象等等 以便于JVM对其进行管理。运行时数据区又可以分为,方法区,队,虚拟机栈,本地方法栈,pc。其中堆和方法区是线程之间共享的。其他的是县城之间私有的。
发表于 2023-02-02 09:27:50 回复(0)
JVM内存模型主要由三部分组成:类加载子系统、执行引擎、运行时数据区。
1.类加载子系统:根据全限定名称来载入类或接口。
2.执行引擎:负责执行那些被包含在被载入类的方法中的指令。
3.运行时数据区,用来存储字节码,对象,参数,返回值,局部变量及运行结果等。
运行时数据区包括:方法区,堆,虚拟机栈,本地方法栈,程序技计数器。
方法区和堆被所有线程所共享,存在线程安全问题。
虚拟机栈,本地方法栈和程序计数器线程私有,不存在线程安全问题。
编辑于 2023-02-01 16:34:54 回复(0)
JVM内存模型包括三个部分,1、类加载子系统:可以根据全限定名来载入类和接口;2、执行引擎:执行那些包含在被加载类的方法中的指令;3、运行时数据区:程序运行时,JVM将字节码、对象、参数、返回值、局部变量和运算中间值等存储在运行数据区内,其中包括方法区、堆、本地方法栈、程序计数器。
发表于 2022-08-13 14:50:04 回复(0)
类加载子系统:加载类,执行引擎:执行类中的方法,运行时数据区 jvm的内存主要分为线程私有和公公内存,线程私有的为:虚拟机栈,程序计数器,本地方法栈,共有的为,堆,直接内存,方法区
发表于 2022-08-01 12:39:45 回复(0)
JVM内存模型主要由三部分组成:类加载子系统、执行引擎、运行时数据区。1.类加载子系统:根据全限定名称来载入类或接口。2.执行引擎:负责执行那些被包含在被载入类的方法中的指令。3.运行时数据区,用来存储字节码,对象,参数,返回值,局部变量及运行结果等。运行时数据区包括:方法区,堆,虚拟机栈,本地方法栈,程序技计数器。方法去和堆被所有线程所共享,存在线程安全问题。虚拟机栈,本地方法栈和程序计数器线程私有,不存在线程安全问题。
发表于 2022-05-27 17:03:12 回复(0)
JVM:Java虚拟机 是Java实现跨平台性的重要保证 分为类加载子系统 加载 链接 (验证准备解析)初始化 根据全限定名来载入类 执行引擎:执行那些被载入类的方法的指令 运行时数据区: 线程私有:程序计数器,本地方法栈,虚拟机栈 线程共享:方法区,堆
编辑于 2024-03-16 12:55:58 回复(0)
JVM内存模型由三部分组成 类加载子系统 执行引擎 运行时数据区
编辑于 2024-03-05 19:55:39 回复(0)
jmm 因为现都是多核cpu, 以及各级缓存的存在, java 抽象出了 工作线程 主内存的概念
发表于 2023-11-29 16:50:13 回复(0)
JVM分为三部分,分别为1.类加载子系统,可以根据指定的全限定名载入类或接口;2.执行引擎:执行那些被载入类的方法中的指令;3.运行时数据区,包括本地方法栈、虚拟机栈、程序计数器、堆和方法区。当程序运行时,JVM会将运行过程中的字节码、对象、参数、返回值、局部变量和运算的中间结果存储到运行时数据区中
发表于 2023-07-14 13:19:03 回复(1)
jvm由三部分组成:类加载子系统,执行引擎,运行时方法区 类加载子系统根据全限定名加载类或者接口 执行引擎执行载入的方法指令 运行时数据区分为堆区,虚拟机栈,方法区,本地方法栈,程序计数器 堆区用来存储创建出来的对象,垃圾回收的主要区域,线程共享 虚拟机栈每次执行方法时向其中压入一个栈帧,栈帧里存储局部变量表,操作数栈,动态链接和方法返回值等信息,线程私有 方法区用来存储常量池,类信息,字节码等数据 本地方法栈和虚拟机栈差不多,主要是用来服务Native方法的 程序计数器是记录线程的执行记号,线程私有
发表于 2023-06-30 14:45:44 回复(0)
类加载器:加载class文件,堆:存放对象。方法区:方法,属性,变量。虚拟机栈:存储局部变量。本地方法区:加载本地方法,程序计数器:记录程序运行的行数。
发表于 2023-04-16 15:00:22 回复(0)