2016-07-01 4 views
-4

固定サイズ50 MBのJavaオブジェクトはどのように作成できますか?50 MBのJavaオブジェクトを作成する

ラージオブジェクトを挿入すると、テーブルスペース名を測定するデータベーステストの目的でこのオブジェクトが必要です。

+0

はおそらく、本当に大きな配列であるフィールドでそれを作成しますか? –

+1

新しいバイト[1024 * 50]と記入しますか? –

+0

完全なコードを貼り付けてください。 –

答えて

5

私は、最も簡単な方法は、配列でオブジェクトを作成し、配列に50MB相当のデータを入れることだと思います。正確に50MBにする必要がある場合は、オブジェクトのオーバーヘッドのサイズを考慮する必要があります。それは圧縮ポインタなしの12B、圧縮ポインタ付きの8Bです。配列のサイズは、データ型によって異なります。倍精度を使用すると、64ビット(8バイト)になります。これは、圧縮されていないポインタと均等には適合しないので、単にバイトを使用することができます。

コメントに記載されているとおり、私は1MBが100万バイトであると仮定しています。あなたが1kBの= 1024Bと1メガバイト= 1024KBの伝統的な値を使用する場合は、何が必要です:

class fiftyMB{ 
    public byte data[52428788]; 
} 
+0

あなたの[MBの定義](https://en.wikipedia.org/wiki/Megabyte#Definitions)に応じて。 – shmosel

+0

@JoshA私たちはMBを定義する必要があります:D – Tibrogargan

+0

私はベース2のバージョンではなくベース10に行くことに決めましたが、はい、いくつかの作業を使用することができます。私はそれを両方のバージョンを反映するように更新しました。また、バイトの代わりに倍精度を入力する間違いを修正しました。 –

関連する問題