美文网首页
java内存结构

java内存结构

作者: 啦啦啦啦啦哈1 | 来源:发表于2018-11-03 13:28 被阅读0次

题目:

1.下面有关JVM内存,说法错误的是?

  程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的,

  原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的,

  虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的

  错误:方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的

大多数 JVM 将内存区域划分为Method Area(Non-Heap)(方法区),Heap(堆),Program Counter Register(程序计数器),VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack本地方法栈),其中Method Area Heap是线程共享的 ,VM Stack,Native Method Stack  和Program Counter Register 是非线程共享的。为什么分为 线程共享和非线程共享的呢?请继续往下看。

首先我们熟悉一下一个一般性的 Java 程序的工作过程。一个 Java 源程序文件,会被编译为字节码文件(以 class 为扩展名),每个java程序都需要运行在自己的JVM上,然后告知 JVM 程序的运行入口,再被 JVM 通过字节码解释器加载运行。那么程序开始运行后,都是如何涉及到各内存区域的呢?

相关文章

网友评论

      本文标题:java内存结构

      本文链接:https://www.haomeiwen.com/subject/ydekxqtx.html