该类在包外不给用,原理是在获取实例的时候判断加载器是否为系统加载器,如果不是抛出安全异常
@CallerSensitive public static Unsafe getUnsafe() { Class var0 = Reflection.getCallerClass(); if (!VM.isSystemDomainLoader(var0.getClassLoader())) { throw new SecurityException("Unsafe"); } else { return theUnsafe; } }
下面记录Unsafe的常用方法,研究JDK的时候做笔记