1. 首页
  2. 编程语言
  3. Java
  4. Java中的魔法类:sun.misc.Unsafe示例详解

Java中的魔法类:sun.misc.Unsafe示例详解

上传者: 2022-05-19 16:04:20上传 PDF文件 142.12 KB 热度 6次

Unsafe类在jdk 源码的多个类中用到,这个类的提供了一些绕开JVM的更底层功能,基于它的实现可以提高效率。解决办法有两个,其一是通过JVM参数-Xbootclasspath指定要使用的类为启动类,另外一个办法就是java反射了。通过将private单例实例暴力设置accessible为true,然后通过Field的get方法,直接获取一个Object强制转换为Unsafe。在32位的JVM中,可以通过读取class文件偏移为12的long来获取size。最安全的做法是,在密码字段使用完之后,将它的值覆盖。包装受检异常为运行时异常。Externalizable好些,它需要为要序列化的类指定模式。流行的高效序列化库,比如kryo依赖于第三方库,会增加内存的消耗。kryo有使用Unsafe的尝试,但是没有具体的性能提升的数据。在需要分配大的连续区域、实时编程时,可以使用它。java.nio使用这一技术。

下载地址
用户评论