创建50MB的Java对象

创建50MB的Java对象,java,Java,如何创建固定大小为50MB的Java对象 我需要这个对象用于数据库测试,以便在插入大型对象时测量表空间名称。我认为最简单的方法是创建一个包含数组的对象,并在数组中放入50MB的数据。如果需要精确到50MB,则需要考虑对象开销的大小。这将是没有压缩指针的12B和有压缩指针的8B。数组的大小取决于数据类型。如果使用双精度,则它们将是64位,即8字节。这与未压缩的指针不匹配,所以您可能只想使用字节 class fiftyMB{ public byte data[49999988]; } 正如

如何创建固定大小为50MB的Java对象


我需要这个对象用于数据库测试,以便在插入大型对象时测量表空间名称。

我认为最简单的方法是创建一个包含数组的对象,并在数组中放入50MB的数据。如果需要精确到50MB,则需要考虑对象开销的大小。这将是没有压缩指针的12B和有压缩指针的8B。数组的大小取决于数据类型。如果使用双精度,则它们将是64位,即8字节。这与未压缩的指针不匹配,所以您可能只想使用字节

class fiftyMB{
    public byte data[49999988];
}
正如在评论中提到的,我假设1MB是一百万字节。如果使用1kB=1024B和1MB=1024kB的传统值,则需要:

class fiftyMB{
    public byte data[52428788];
}

用一个非常大的数组来创建它,也许?新字节[1024*50]和填充?你能粘贴完整的代码吗?字节[]数组=新字节[50*1024*1024]?这取决于你的需要。@JoshA我们需要定义MB:DI决定使用基数10而不是基数2版本,但是是的,数字可能需要一些工作。我已经对它进行了更新,以反映这两个版本,并修复了我的错误,即使用双倍而不是字节。12B和8B是从哪里得到的?请参阅,了解索赔8B与索赔4B的信息。有参考资料加上阵列的长度。看见