gpt4 book ai didi

java - Unsafe.putAddress 和 Unsafe.putLong 方法有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:47:03 27 4
gpt4 key购买 nike

最佳答案

Javadoc 对此非常清楚。对于 putAddress(),它说:

The number of bytes actually written at the target address may be determined by consulting #addressSize.

putLong() 放置 long 值的所有位。

换句话说:一个地址可能消耗一个 long 值的所有位,但不一定必须如此!然后将 64 位写入内存中的某处很可能不是一个好主意!

因此,您需要能够区分这两种用例(写入 64 位中的 n 位正好写入 64 位)。

但具体来说,地址大小的 javadoc 说:

Report the size in bytes of a native pointer ... This value will be either 4 or 8.

所以我想,出于所有实际目的,这两种方法的作用相同。因为现在,(几乎?!)所有存在的 JVM A)实现这些方法和 B)都是 64 位 JVM。 (所以我假设 32 位 JVM 会返回 4 而不是 8)

关于java - Unsafe.putAddress 和 Unsafe.putLong 方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51438043/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com