IN JAVAchar []の最大サイズはありますか?
char []の最大サイズはありますか?私はchar [5,000,000]を持てますか?
Javaの配列は連続したメモリブロックで構成されていますか?
IN JAVAchar []の最大サイズはありますか?
char []の最大サイズはありますか?私はchar [5,000,000]を持てますか?
Javaの配列は連続したメモリブロックで構成されていますか?
あるインデックスがint型基づいているので、配列の最大サイズにInteger.MAX_VALUE
されるべきだと思います明らかにもう1つの制限は、アプリケーションで使用可能なメモリ量です。
大きなものが4ギガバイトであるため、JVMで制約が追加される場合があります。 – JeremyP
@JeremyP - 実装は異なる可能性がありますが、インターフェイスはかなり制限されています – willcodejavaforfood
Integer.MAX_VALUEは(1 << 31)-1ではありません(1 << 32) –
JVMのヒープサイズが制限されています。
@wildcodeforjavaはINTを挙げるように、これまで小さいをアレイ
をinitilizingながらparemeterあります。
はい、はい私の知る限り、私は、javaのmaxは約2,000,000,000 2 * 10E9
Integer.MAX_VALUE、または(1 << 31)-1 –
最大サイズはアーキテクチャによって異なります。
Cでは、アレイは連続したメモリブロックで構成されています。 RAM(ディスクベースの仮想メモリを含む)に収まる限り、必要に応じて大きな配列を持つことができます。例外があります:ローカル変数として宣言された配列はスタックに割り当てられますが、これは非常に小さいです。 PC上のマルチスレッドアプリケーションにおけるスタックの典型的なサイズは1メガバイトになります。大きな配列が必要な場合は、グローバル変数として作成するか、動的に割り当てます(malloc()
)。
Javaでは、配列はヒープ割り当てされています(new
)。それらが連続しているかどうかは「あなたのビジネスのどれも」ではありません.Javaの本質はプログラマーを具体的な実装の詳細から保護することです。(実際はほとんどのJava仮想マシンでは配列は連続しています。 Java配列は、int
タイプで表現された値で作成および索引付けされます。したがって、マシンにそれ以上のRAMがあっても、Java配列は約2億を超える要素を持つことはできません。int
は大きな値を保持できません。 5百万はケーキです。私はそれよりも大きな配列を日常的に割り当てます。
偉大な情報ありがとう:) – Scicare
Javaのcharが2バイトであるため、2147483647の配列インデックスは最大3 GB(1024バイト= 1 KBに基づく)を消費できます。
この情報は面白いですが、これは質問に答えないので、(あなたが特権を持っているときに)コメントでこれらを制限しようとします。 – Docteur
[Java:配列に最大サイズがありますか?](0120-919-066) – ColinD
許容される回答その質問には間違っています...最大サイズは 'Integer.MAX_VALUE - 5'と思われます。 – ColinD