gpt4 book ai didi

Java内存分配对齐

转载 作者:太空狗 更新时间:2023-10-29 22:56:12 26 4
gpt4 key购买 nike

我知道在 Java 中这是一个奇怪的问题,但是有没有办法让 Java 动态内存分配与某些对齐约束对齐?例如,是否可以动态分配与页面大小对齐的对象?

我之所以要这样做是因为我要通过JNI接口(interface)从本地代码访问Java对象,而本地代码库要求对象对齐。

谢谢。

最佳答案

不,这是不可能的。请记住,Java 中堆上的对象可以在垃圾回收期间移动。您有一些选择:

  1. 停止直接从 JNI 访问 Java 对象。将您关心的内容复制到 native 代码已经对齐的 JNI 提供的缓冲区中。
  2. 使用ByteBuffer.allocateDirect() .然后找到正确对齐的缓冲区区域。一种方法是在启动时分配缓冲区,并在不同的偏移量处重复尝试对齐敏感操作,直到它起作用。这是黑客攻击!

关于Java内存分配对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5268110/

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