gpt4 book ai didi

java - JVM 是如何开始寻找类的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:18 25 4
gpt4 key购买 nike

  • 我很好奇 JVM 寻找执行程序的所有位置?我更感兴趣的是了解 JVM 以什么顺序和在哪里查找类文件,比如它是否查看 java 库、扩展库、类路径任何目录,比如调用 java 的当前目录?我对 JVM 行为更感兴趣,而不是类加载器如何加载类,我知道类加载器在根之前具有父委派机制。

  • 如果一个类是从编译后的类保存在文件系统上的目录中执行的,并且还在同一目录中的 jar 文件中执行,JVM 会同时加载还是只加载一个?

    <
  • 假设您有一个线程不安全的 Vector,如果我们将它的性能与 ArrayList 进行比较,哪个更好,为什么?

    <

最佳答案

如何找到类。答案在这里:

http://docs.oracle.com/javase/1.5.0/docs/tooldocs/findingclasses.html

第 2 点的答案:查找类的顺序如下:

  1. 当前目录中的类或包。
  2. 从 CLASSPATH 环境变量中找到的类。 [覆盖 1]
  3. 从 -classpath 命令行选项找到的类。 [覆盖 1,2]
  4. 从通过 -jar 命令行选项指定的 jar 存档中找到的类 [覆盖 1,2,3]

因此,如果您在运行时使用 -jar 选项,则类来自 jarfile。

虽然只加载了一个类。

关于java - JVM 是如何开始寻找类的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934780/

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