gpt4 book ai didi

java - 类加载器如何找到类

转载 作者:行者123 更新时间:2023-12-02 08:00:52 26 4
gpt4 key购买 nike

ClassLoader c //imagine this is a valid object
c.loadClass(String className, boolean resolveIt);

这是让我困惑的 className 参数。我已将java文件写入一个文件夹,并使用反射对其进行编译。因此,我不确定如何指向正确的文件以及类名使用的命名约定。

文档说只是说了类的名称,但是它怎么知道它在哪里呢?

谢谢

最佳答案

ClassLoader 的关键在于知道如何在给定类名的情况下搜索类文件。 javadoc 说:

Given the binary name of a class, a class loader should attempt to locate or generate data that constitutes a definition for the class. A typical strategy is to transform the name into a file name and then read a "class file" of that name from a file system.

因此,您必须使类加载器将类名翻译到可以找到类字节码的某个位置。 URLClassLoader 通过将类名转换为路径,并在 URL 指向的各种 jar 和目录中查找该路径来实现这一点。

关于java - 类加载器如何找到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8925391/

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