gpt4 book ai didi

java - 什么是用户自定义类加载器?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:10:10 25 4
gpt4 key购买 nike

我正在阅读有关 Jvm 体系结构的信息,但我无法理解其中的类加载器体系结构。我了解引导类加载器是什么,但无法理解用户定义类加载器的工作原理、它在 jvm 中的工作方式以及它的工作原理是必需的吗?

程序员是否编写用户定义的类加载器?我一直在做java但是没用过或者看不到什么时候用过?请尝试以一种易于理解的方式进行解释,以便我能够准确理解它是什么。

最佳答案

What is user-defined classloader?

用户定义的类加载器是一个扩展 java.lang.Classloader 或子类的类(标准 Java 库或第 3 方库不提供)。

Does programmer writes user-defined classloader?

是的。

how it works in jvm

就像任何其他类加载器一样。更具体地说,为了加载一个类,它将类文件加载到一个 byte[] 中,然后调用由 ClassLoader 类实现的 defineClass 方法。其他事情可能需要委托(delegate)给父类加载器。

and why it is required?

如果您需要您的类加载器的行为与普通类加载器不同,则需要它。例如,您可能想要转换字节码,或者从标准实现无法处理的地方加载它们。或者您可能希望以不同于正常模式的方式实现资源加载。

Please try to explain in a easy to understand way so I can exactly understand that what it is.

我建议您阅读有关类加载器的 IBM 教程:http://www.ibm.com/developerworks/java/tutorials/j-classloader/j-classloader.html它旨在易于理解,并包含一个自定义类加载器的工作示例。 (它有点旧,但这不重要。)

或者,还有很多选择……正如 Google 会告诉您的那样。

如果您只是想了解一般的类加载器,请阅读:What is a Java ClassLoader?

关于java - 什么是用户自定义类加载器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24504549/

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