gpt4 book ai didi

java - 获取 Java 类加载引用层次结构

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

在调试 Spring 驱动的 AspectJ LTW(使用 -verbose:class)时,我注意到在 Spring 建立与 AspectJ 编织器的连接之前,类加载器正在加载要建议的类之一。

考虑到 Java 会推迟类的加载,直到无法再延迟为止,所以必须有一个特定的类加载得这么快的原因。

是否有可能在特定时刻获得引发将类加载到 JVM 的“引用堆栈”(因此我可以尝试推迟其使用)?如果可以,我该怎么做?

最佳答案

正如您已经指出的那样,Java(或者实际上是运行您的代码的虚拟机)在需要时加载和解析类。这通常也会导致几个类(class)的链式 react 。很明显,不包含编织代码的类很可能在 Spring 类之前加载。

然而,Java HotSpot VM(典型的VM,当安装Oracle的Java时)可以是configured在许多方面开始时。其中一个选项是 "-XX:+TraceClassLoading"(注意加号;不幸的是,上面提到的链接记录了此选项的减号)。还有另一种选择,即按引用顺序跟踪加载的类。

这样,您应该能够缩小问题的范围。如果没有,一些示例代码可能会有所帮助。虽然我担心那会有点太大了。

关于java - 获取 Java 类加载引用层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17589934/

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