我对Java的了解不是很好,所以我想问一下这种语言是如何工作的。我不仅指“语言”,还指虚拟机。
这是我的理解。
这绝对错了吗?
答案 0 :(得分:3)
已经有很多答案,但我遗漏了一个重点:
“2。当文件运行时,JVM读取(及时)字节码并将其转换为机器码。”
这不太正确。
代码耗时较少的部分可能会被解释。如果情况发生变化(例如,通过加载新类),某些已编译的代码可能会显示为不再优化甚至不正确,并且它会被丢弃并且JVM恢复解释一段时间,然后再次重新编译它
答案 1 :(得分:2)
Java虚拟机(JVM)是一种软件,它解释编译的Java字节代码并运行java程序。 Java虚拟机语言在概念上代表了面向堆栈的功能架构的指令集。
Java虚拟机没有关于编程语言的任何信息。 JVM只知道二进制字节代码格式。程序员可以在任何编程语言中生成符合此格式的字节码。每个Java程序都在Java虚拟机定义的边界内运行。
在JVM内部运行的java代码不能超出Java虚拟机定义的安全约束。由于该软件,Java应用程序被视为Internet上的安全应用程序。
答案 2 :(得分:2)
答案 3 :(得分:0)
您的理解是正确的。我想添加以下
答案 4 :(得分:0)
几乎:
答案 5 :(得分:0)
准确地说,
创建java类时,扩展名为.java
在编译期间,编译器将代码(.java文件)转换为 .class(字节代码)。
运行代码时,JVM将字节代码(.class文件)转换为 可由OS解释的机器代码。通过这样做,它成功 Java作为平台独立,JVM作为平台依赖。