首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

怎么在java中开辟一段连续的内存空间来放对象

2013-02-28 
如何在java中开辟一段连续的内存空间来放对象public static class PlayParam extends Structure{public in

如何在java中开辟一段连续的内存空间来放对象
public static class PlayParam extends Structure{
public int hWnd ; 
public int Priority ; 
                   public int MultiGroup;
}
项目用jna调用原生代码dll文件,这三个变量要求在内存中占4字节,现在的问题是不清楚结构体new过后变量是否就占用了内存空间,这里占用的是堆空间还是栈空间?而且要求结构体变量所占用的堆空间是连续的,这个在java有方法看吗?如何在java中开辟一段连续的内存空间来放结构体?麻烦大家了~~ class
[解决办法]
比如你上面  public int multigroup; 这个东西  multigroup 会放到栈中。 对应初始化 0 会放到堆中。
[解决办法]
jvm从系统申请到的内存就是连续的,新建的对象在堆上所占用的内存很可能也是连续的

不过连不连续对楼主有何影响呢

该对象占用空间 24 bytes

object header: 8 bytes
primitive fields: 3*4 =12 bytes
padding: 4 bytes

http://www.javamex.com/tutorials/memory/object_memory_usage.shtml


热点排行