职场面试题总结(51)---jvm内存结构模型、dk8以后对象可以存到栈里吗、可达性分析法中哪些对象可以作为根节点去出发

43 阅读1分钟

1、jvm内存结构模型

image.png

2、jdk8以后对象可以存到栈里吗?

java对象对象创建分配的地方在堆上,但是jdk8以后,java对象可以分配在栈上。

在栈上为对象分配内存具有一定的条件性,即在栈上对象的生命周期可以随着方法移除栈而死亡才能将对象放入到栈上。

3、可达性分析法中哪些对象可以作为根节点去出发

在java中可以作为GC Roots的对象有以下几种: 虚拟机栈中引用的对象、方法区类静态属性引用的对象、方法区常量池引用的对象、本地方法栈JNI引用的对象。