public class Caller {
public static void main(String[] args) {
System.setSecurityManager(new MySecurityManager());
new A().method();
}
}
class MySecurityManager extends SecurityManager {
protected Class[] getClassContext() {
return super.getClassContext();
}
};
class A {
void method() {
new B().method();
}
}
class B {
void method() {
MySecurityManager sm = (MySecurityManager) System.getSecurityManager();
Class[] cls = sm.getClassContext();
// for(int i=0;i<cls.length;i++) System.out.println(cls[i]);
System.out.println(cls[2] + " is Calling me");
}
}
本文展示了一个使用Java安全管理器的示例程序。通过自定义的安全管理器类MySecurityManager,程序可以跟踪类的调用上下文。在main方法中设置了安全管理器后,通过B类的方法调用展示了当前类调用堆栈的情况。
8890

被折叠的 条评论
为什么被折叠?



