我试图找到一个方法来查看JVM为lambda函数加载的类的数量。我有一个朋友的代码,但它不工作。我有以下内容:
java -cp my.jar -verbose:class Handler | grep Loaded
它一定是缺少了什么,因为我没有“加载”类。“装载”是“装载”的替代品吗?
这样做的结果类似于:
[0.179s][info][class,load] java.text.Format source: jrt:/java.base
[0.179s][info][class,load] java.text.MessageFormat source: jrt:/java.base
[0.179s][info][class,load] java.util.Locale$Category source: jrt:/java.base
[0.179s][info][class,load] java.util.Locale$1 source: jrt:/java.base
[0.180s][info][class,load] java.text.FieldPosition source: jrt:/java.base
[0.180s][info][class,load] java.util.Date source: jrt:/java.base
我期待着这样的东西:
[Opened /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Opened /usr/java/j2sdk1.4.1/jre/lib/sunrsasign.jar]
[Opened /usr/java/j2sdk1.4.1/jre/lib/jsse.jar]
[Opened /usr/java/j2sdk1.4.1/jre/lib/jce.jar]
[Opened /usr/java/j2sdk1.4.1/jre/lib/charsets.jar]
[Loaded java.lang.Object from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Loaded java.io.Serializable from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Loaded java.lang.Comparable from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Loaded java.lang.CharSequence from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
[Loaded java.lang.String from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
你知道我错过了什么吗为什么我看不到“加载”的类?我有Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS
谢谢CC
3条答案
按热度按时间3z6pesqy1#
我知道答案了在Java 8上实现了预期的结果。在Java 11中,结果是不一样的,所以我必须为每个版本调整我的命令。
vc9ivgsu2#
在实际的程序中,可以使用
在java 8中测试
6bc51xsx3#
请尝试下面的类。希望这对你有用