Mik*_* J. 5 java memory-management
我试图通过扩展现有的Java程序来实现概念验证内存感知调度功能.该程序使用缓冲区的形式byte []
.因为我的目的byte []
是有问题的,因为
为了实现我的目标,我希望缓冲区是懒惰分配的内存(仅在写入时分配的页面)并且可以按需释放.这与C++中的情况类似.另外,尽可能地,我想尽量减少对现有代码库的更改.
我看着nio.ByteBuffer
不安全的班级.不适合我的情况,因为
java.nio.ByteBuffers
似乎没有懒惰的分配.当我分配一个空的1GB缓冲区时,程序的RSS立即变为1GB.Unsafe.allocateMemory
懒惰分配,但我不知道如何引用它byte []
.有什么方法可以解决这个问题吗?以任何方式查看分配的内存Unsafe.allocateMemory()
为byte []
?或者将现有更改byte []
为指向分配给Unsafe的内存?
谢谢
Java 被设计为具有单独的内存区域。
归档时间: |
|
查看次数: |
158 次 |
最近记录: |