【发布时间】:2016-12-01 00:04:18
【问题描述】:
这是参考这篇文章中的答案:How JVM stack, heap and threads are mapped to physical memory or operation system
如果是这种情况,它会说“JVM 堆栈与本机堆栈相同”,那么每当字节码中存在函数调用而不是 JVM 代码函数调用时,jvm 如何在此堆栈内存上分配堆栈帧。如果 JVM 代码中有函数调用,那么方法局部变量和其他与方法相关的东西将由操作系统存储在这个本机堆栈中。但是如果字节码指令中有函数调用,JVM如何手动将本地存储在本机堆栈中。
【问题讨论】:
-
Java 虚拟机规范和 Java 语言规范仅将堆栈帧作为一种抽象来讨论。细节留给实际实现 JVM 的人。如果你真的想在这么低的层次上理解它,不妨潜入 OpenJDK 源码:openjdk.java.net
-
你为什么要问这个问题?只是好奇还是有目的?
标签: java multithreading memory-management jvm operating-system