什么是非 Java 代码?

Vai*_*ati 1 java jvm

我在学习JVM 时遇到了这个词,它在加载 .class 文件期间存储在“Java Native Stack”(一个运行时数据区)中。非 Java 代码也称为 Native 代码,但我真的不明白它是什么。

Ste*_*n C 5

非 Java 代码是不是用 Java 编程语言编写的代码。其实有两种:

  • 本机代码(例如用 C 或 C++ 编写)实现已声明为native. 本机代码通常被编译为硬件的本机指令集,组装到共享库/DLL 中,并由 JVM 加载以响应System方法调用。

  • 由非 Java 编译器生成的 JVM 字节码。有其他语言的编译器,如 Scala、Lua、Python、C# 等,可以生成字节码以在 JVM 平台上执行。