我有一些使用专有 sun.*.OperatingSystemMXBean 的代码,所以我很小心。
try {
_osBean = (com.sun.management.OperatingSystemMXBean) java.lang.management.ManagementFactory.getOperatingSystemMXBean();
}
catch (ClassCastException e) {
_osBean = null;
}
但是,当此代码在 IBM JVM 上ClassCastException
运行时,我得到的是 runtime而不是ClassNotFoundException
. 如果该类不可用,为什么这段代码能够编译得很好,JVM如何影响这样的事情?