gpt4 book ai didi

java - 是否每个 "new"都会导致至少一次 Classloader.loadClass 调用

转载 作者:行者123 更新时间:2023-11-30 06:43:15 26 4
gpt4 key购买 nike

我注意到我们可以随意设置一个线程的上下文类加载器。这是否意味着每个 new 都会导致上下文类加载器的 loadClass 被调用?

最佳答案

不,loadClass() 只会调用一次,即第一次访问该类时。 (这不一定会发生在 new() 上,如果您尝试访问该类的 static 成员,则可能会发生。)

在该类的每次后续访问中,都不会调用loadClass()

这是因为每次需要该类时,ClassLoader 都会在内部调用findClass(),它试图找到一个已经加载的类,所以如果该类已经被加载,ClassLoader 会避免调用再次 loadClass()

关于java - 是否每个 "new"都会导致至少一次 Classloader.loadClass 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52294738/

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