我正在学习 JVM ,并且在加载.class文件期间遇到了存储在“Java Native Stack”(运行时数据区)中的这个词。 非Java代码也称为本机代码,但我真的不明白它是什么。
答案 0 :(得分:4)
非Java代码是未使用Java编程语言编写的代码。实际上有两种:
实现已声明为native
的Java方法的本机代码(例如,用C或C ++编写)。本机代码通常被编译为硬件的本机指令集,组装成共享库/ DLL并由JVM加载以响应System
方法调用。
由Java编译器以外的东西生成的JVM字节码。有其他语言的编译器,如Scala,Lua,Python,C#等,它们生成用于在JVM平台上执行的字节码。