Какое снижение производительности, если оно есть, при использовании SecurityManager

Есть ли снижение производительности при использовании 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 (...) .

9
задан A.H. 23 November 2011 в 18:43
поделиться