执行Java程序后的内部进程

时间:2012-07-10 13:31:02

标签: jvm java

我想知道在执行java程序时发生的逐步内部过程。

示例是否在命令提示符下提供 java test 所有过程被调用了什么?
如何实例化JVM?直到它打印输出..

6 个答案:

答案 0 :(得分:3)

Java程序执行遵循5个主要步骤:

编辑 编 加载 校验 并执行

  1. 编辑 - 这里程序员使用一个简单的编辑器或一个记事本应用程序来编写java程序,最后给它一个.java扩展名

  2. 编译 - 在这一步中,程序员提供了javac命令,并且.java文件被转换为字节码,这是java虚拟机所理解的语言(这就是使得与java平台无关的语言)。在此步骤中引发任何编译时错误

  3. 加载 - 然后将程序加载到内存中。这是由类加载器完成的,它接受包含字节码的.class文件并将其存储在内存中。 .class文件也可以从您的硬盘或网络加载

  4. 验证 - 字节码验证程序检查加载的字节码是否有效且不违反Java的安全限制

  5. 执行 - JIT(即时)编译器一次编译一个字节码的程序并运行程序

答案 1 :(得分:2)

内部执行java代码将按以下步骤执行: -

Execution Command -->java Test
   1.Start JVM
   2.Create and Start Main Thread
   3.Look at Test.class File-->Main Thread is responsible for checking if not found Runtime Exception will occur saying Exception in Thread Main
   4.Load Test.class file
   5.Execute Main method
   6.Unload Test.class
   7.Terminate Main Thread
   8.Shut down JVM

答案 2 :(得分:1)

看一下这篇文章,它清楚地逐一解释了所有步骤: Java Program Execution Steps.

答案 3 :(得分:1)

浏览 Java Execution页面。您将找到上述问题的答案。

答案 4 :(得分:0)

1) JVM 执行程序的字节码。
2)JVM通常使用解释和所谓的即时(JIT)编译的组合来执行字节码
3)分析字节码,因为它们被解释
4)即时(JIT)编译器 - 例如Oracle的Java HotSpot编译器 - 将字节码转换为底层计算机的机器语言。

答案 5 :(得分:-2)

我不知道,但是,我理解的概念,我会解释你一样....

最初,第一次输入命令 java abc (文件名是abc.java)来运行程序....程序将在您输入命令后搜索Java Runtime Environment (cmd中的JAVA)....它表示您在环境变量....中设置的路径。

然后JVM被激活........ JVM将调用类加载器.......然后类加载器将转到操作系统获取程序执行权限.....一旦OS允许.....类加载器将检查文件名和程序名称........(因为你知道类名和文件名应该相同).... ....如果一切顺利........程序加载到内存.....:)

干杯:)

Shankar Salunkhe