这篇关于Java安全性的文章指出:
Java库中的代码在尝试执行危险操作时会咨询安全管理器。
那么,这是什么意思呢?假设我已经实现了自己的securitymanager并将其启用到了整个JVM,现在Java运行时是否会针对每个Java调用(例如System.out.println()等)都咨询我的securitymanager,还是只会在进行危险
API调用时(如System.exit(),文件操作等)进行咨询呢?
编辑: 让我澄清一下我的问题,
我不质疑SecurityManager的可能性。我只是想知道安全检查是否仅限于危险的API
,或者它是针对每个方法调用
进行的。如果是后者,在具有大量代码的应用程序中会导致严重的性能退化。
System.out
/err
;我已经发布了一个问题来确认这一点。 - dimo414