【发布时间】:2012-05-23 12:12:02
【问题描述】:
我想知道这是怎么发生的:Java 程序如何映射到 OS 进程(如下面的 Linux 所示):
在 C 中,它是一个程序如何编写以及整个调用堆栈如何在操作系统中进行的直接关联。我想知道如何在 Java 中实现映射?方法 meth(),在对象上调用:obj,是否只是转换为定位 obj.meth() 的地址,然后在堆栈上使用它在 C 中的方式?
提前致谢!
编辑:我也很想知道其他 OOP 语言(C++、Python 等)通常使用的模型。
【问题讨论】:
-
请注意,即使对于 C,给定的图片已经是一个严重的简化。例如,不一定只有一个堆(如果你有很多线程想要分配内存,那么只有一个堆是个坏主意),然后是线程特定的数据等等。魔鬼在细节中,如果你想想即使是简单的 C 运行时也会变得多么复杂,想象一下 JVM 的样子:)
-
当然,我只是想讨论一个单线程进程的简单案例:)
标签: java compiler-construction process operating-system callstack