例子
VM“化身”。即无锁哈希表中使用的CAS(比较和交换),例如:sun.misc.Unsafe.compareAndSwapInt,它可以对包含针对CAS的特殊指令的本机代码进行真正的JNI调用
在此处阅读有关CAS的更多信息http://en.wikipedia.org/wiki/Compare-and-swap
主机VM的sun.misc.Unsafe功能可用于分配未初始化的对象,然后将构造函数调用解释为任何其他方法调用。
可以从本机地址跟踪数据。可以使用java.lang.Unsafe类检索对象的内存地址,并通过不安全的get / put方法直接在其字段上进行 *** 作!
JVM的编译时间优化。使用“魔术”的高性能VM,需要低级 *** 作。例如:http : //en.wikipedia.org/wiki/Jikes_RVM
分配内存sun.misc.Unsafe.allocateMemory例如:-调用ByteBuffer.allocateDirect时,DirectByteBuffer构造函数在内部调用它
跟踪调用堆栈并重播由sun.misc实例化的值。不安全,对检测很有用
sun.misc.Unsafe.arraybaseOffset和arrayIndexScale可用于开发arraylet,该技术可有效地将大型数组分解为较小的对象,从而限制了对大型对象进行扫描,更新或移动 *** 作的实时成本
http://robaustin.wikidot.com/how-to-write-to-direct-memory-locations-in-java
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)