java - JVM 的功能是什么,当我们运行 “java A” 时 JVM 会做什么,A 是类

标签 java jvm jvm-crash

面试问题:What JVM does when we run “java A” , A is java class.

我的解释如下:JVM 创建内存,尝试使用 Java 反射 API 找出 A java 类。

JVM 加载 java.lang 包。

任何人请解释一下 JVM 的端到端功能!

最佳答案

JVM 太复杂,无法在此描述。有一个由它的创建者之一编写的优秀资源,以便您可以掌握 JVM。 The Java Virtual Machine

在您的例子中,当您输入“java A”时,将启动一个新的 JVM,并且“引导类加载器”负责首先将 java.lang.Object 等关键 Java 类和其他运行时代码加载到内存中。运行时类打包在 JRE/lib/rt.jar 文件内。在 JVM 中,每个类都由 java.lang.ClassLoader 的某个实例加载。 ClassLoader 类位于 java.lang 包中,我们可以自由地对其进行子类化,以将自己的功能添加到类加载中。

从这里了解有关类加载器的更多信息: The basics of Java class loaders

关于java - JVM 的功能是什么,当我们运行 “java A” 时 JVM 会做什么,A 是类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24379160/

相关文章:

Java 相当于 Python 的 "construct"库

java - 在同一个 Activity 中组合滑动手势和单击按钮

Firefox Linux 中的 Java 小程序使 Java 应用程序启动器崩溃/退出

java - 即使在安装 Bouncy CaSTLe 提供程序后,TLSv1.2 SSLContext 也不可用错误

java - 为什么 JPA API Path.get(MapAttribute) 和 Path.get(PluralAttribute) 参数中没有 "? super X"?

java - 将 native 函数调用关联到 Java 方法

java - 如何更正应该指向 JDK 而不是 JRE 文件夹的 JAVA_HOME?

java - Executor、线程池的捕获异常

java 选项内存不足时堆转储

java - 需要故障转储翻译