Rya*_*yan 5 java architecture compiler-construction operating-system
我在研究生院学习了编译器,操作系统,计算机体系结构课程.但我想在一个简单但真实的例子中看到这些概念(不太理论化).对于简单的例子,HelloWorld是一个不错的选择.
不仅这个小程序的生命周期很有趣,而且了解JVM,OS和Architecture如何工作可以帮助我们成为更好的程序员.
简而言之,我的问题是:我是否正确而完整地描述了这些步骤?
详细情况,我需要您的帮助以下内容:
我想知道的是HelloWorld如何遍历每一层,然后从它返回.假设此程序在带有Ubuntu的Intel CPU上运行 .
我会通过结合好的答案来更新这篇文章,直到最终接受一个答案.
以下是大家都知道的HelloWorld计划.

它被编译为字节码,如下所示.

字节码不可读,但我们可以使用javap -classpath . -c HelloWorld以下内容来查看助记符.

然后它在JVM中加载,链接和初始化.

由于它只有一个线程,我们假设它是以下JVM运行时数据区域中的左线程.

JVM线程是用户级线程,因此它将映射到内核.在Ubuntu中,它是一对一的映射,如下所示:

现在JVM制作了x86指令?(更新)
操作系统对此特定程序的作用是什么?
建筑的下一步是什么?
获取指令,解码,执行,存储器访问,以5步MIPS写回.

参考文献:
这可能是一个非常困难的问题.与如何使用某种API的问题不同,这需要了解几乎所有内容.
Java虚拟机(JVM)是可以执行Java字节码的虚拟机。它是Java平台的代码执行组件。
http://en.wikipedia.org/wiki/Java_virtual_machine
图片由维基百科提供:

| 归档时间: |
|
| 查看次数: |
655 次 |
| 最近记录: |