Есть ли снижение производительности при использовании SecurityManager?
Мне нужно следующее:
public class ExitHelper {
public ExitHelper() {
System.setSecurityManager(new ExitMonitorSecurityManager());
}
private static class ExitMonitorSecurityManager extends SecurityManager {
@Override
public void checkPermission(Permission perm) {}
@Override
public void checkPermission(Permission perm, Object context) {}
@Override
public void checkExit( final int status ) {
// this is the part I need and I don't care much about the performance issue of this method
}
}
Будет ли это иметь огромное влияние на мою программу?
Программа, например, открывает много файлов. И если я включу SecurityManager и введу туда вход, я могу, что эти методы будут вызываться много раз. Действительно много. Настолько много, что обычное ведение журнала теряется при ведении журнала этими двумя методами. Таким образом, кажется, что установка SecurityManager означает, что будет сделано много-много вызовов. Будет ли он медленнее, чем SecurityManager по умолчанию? (есть ли они по умолчанию?)
Как это работает? Какая часть программы будет проверяться на наличие разрешений и как часто? Меня беспокоят два метода checkPermission (...) .