gpt4 book ai didi

java - jvm如何进入public static void main?

转载 作者:行者123 更新时间:2023-12-02 11:11:54 25 4
gpt4 key购买 nike

jvm如何进入默认类:

class try1
{
public static void main(String args[])
{
...
}
}

其中JVM如何访问这个方法?

在包中,如果一个类是“默认”的,那么它的公共(public)方法就无法从包外部访问,那么jvm如何进入这个类呢?

最佳答案

调用 main 方法的不是 JVM 本身。这是 Java 启动器的工作,即 java.exe
Java启动器是一个用C编写的小程序,使用正则JNI functions :

  1. JNI_CreateJavaVM 创建 JVM 的新实例并获取 JNIEnv 实例;
  2. JNIEnv::FindClass 定位命令行中指定的主类;
  3. JNIEnv::GetStaticMethodID 查找类 #2 中的 public static void main(String[]) 方法。
  4. JNIEnv::CallStaticVoidMethod 调用 #3 中的方法。

事实上,JNI 允许您使用所有类、方法和字段,甚至可以使用 private 修饰符。

关于java - jvm如何进入public static void main?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com