栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么存在sun.misc.Unsafe,如何在现实世界中使用它?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么存在sun.misc.Unsafe,如何在现实世界中使用它?

例子

  1. VM“化身”。即无锁哈希表中使用的CAS(比较和交换),例如:sun.misc.Unsafe.compareAndSwapInt,它可以对包含针对CAS的特殊指令的本机代码进行真正的JNI调用

  2. 在此处阅读有关CAS的更多信息http://en.wikipedia.org/wiki/Compare-and-swap

  3. 主机VM的sun.misc.Unsafe功能可用于分配未初始化的对象,然后将构造函数调用解释为任何其他方法调用。

  4. 可以从本机地址跟踪数据。可以使用java.lang.Unsafe类检索对象的内存地址,并通过不安全的get / put方法直接在其字段上进行操作!

  5. JVM的编译时间优化。使用“魔术”的高性能VM,需要低级操作。例如:http : //en.wikipedia.org/wiki/Jikes_RVM

  6. 分配内存sun.misc.Unsafe.allocateMemory例如:-调用ByteBuffer.allocateDirect时,DirectByteBuffer构造函数在内部调用它

  7. 跟踪调用堆栈并重播由sun.misc实例化的值。不安全,对检测很有用

  8. sun.misc.Unsafe.arraybaseOffset和arrayIndexScale可用于开发arraylet,该技术可有效地将大型数组分解为较小的对象,从而限制了对大型对象进行扫描,更新或移动操作的实时成本

  9. http://robaustin.wikidot.com/how-to-write-to-direct-memory-locations-in-java



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495341.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号