JVM面试问题

JVM的定义:

java运行时的内存空间,他在jdk的jre中。

其中jvm由:

程序计数器:因为java是多线程的,在线程切换时,使用程序计数器来记录字节码运行的行数。

虚拟机栈:每一个线程都有一个虚拟机栈,java的方法调用就是使用栈完成的。由操作系统进行交互。

本地方法栈:和虚拟机栈一个原理。不过本地方法栈使用的是c++完成的。

堆:存储对象数据,以及数组的数据。堆的内存区域是共享的,所以需要考虑线程安全问题。

方法区:存储已被加载的类、静态方法、常量的信息。

方法区又分为:运行时常量池,字符串常量池。

你可能感兴趣的:(jvm,面试,职场和发展)