SecurityManager一:理解AccessController.doPrivileged()

AccessController.checkPermission()检测模型:

从VM Stack的current stack frame起逐个检测stack frome所指class的protectedDomain是否包含Permission. 

(1)若stack frame所指class的protectedDomain不包含permission, 则java.security.AccessControlException.

(2)若stack frame使用了AccessController.doPriviledge(),则检测结束.

(3)若stack frame已到栈底, 则检测结束.

可见, AccessController.doPrivileged()提前告诉检测程序结束.

posted @ 2016-09-07 13:08  zolo®  阅读(559)  评论(0编辑  收藏  举报