首页 > 技术文章 > Java的Unsafe类

iCanhua 2018-04-13 15:17 原文

  该类在包外不给用,原理是在获取实例的时候判断加载器是否为系统加载器,如果不是抛出安全异常

@CallerSensitive
    public static Unsafe getUnsafe() {
        Class var0 = Reflection.getCallerClass();
        if (!VM.isSystemDomainLoader(var0.getClassLoader())) {
            throw new SecurityException("Unsafe");
        } else {
            return theUnsafe;
        }
    }

  下面记录Unsafe的常用方法,研究JDK的时候做笔记

推荐阅读