同一のJavaバージョン「1.6.0_18」OpenJDKランタイム環境(IcedTea6 1.8)(fedora-36.b18.fc11-i386)OpenJDKサーバーVM(ビルド14.0-b16、混合モード)とすべて同一の6〜7台のサーバーのセットアップを想像してください
それぞれが何時間も何日もプログラムを実行し(メモリとCPUを集中的に使用)、何度も正常に完了します(そのような統計データを取得します)が、パラメーターや私がどのように準拠したかに関係なく、1台のマシンで(javac -source 1.5 * .java/javac -O -source 1.5, javac **, 自分で任意の組み合わせを想像してみてください :))
またはそれを実行しました (-Xms200000k または単に Java blabla.java を考えてみてください)
私は最終的に、特定の瞬間や反復ではなく、「java.lang.ArrayIndexOutOfBoundsException: -1341472392」を取得します?! まず第一に、プログラムはそのような大きな値では機能しません。(コード行は、整数を含む ArrayList の呼び出しを含む) (私が気づいたように、その数は毎回異なります)
また、クラッシュしたテストを「再開」でき、このマシンでできることにも注意してください。さらにいくつかのテストを実行すると、再びクラッシュします。
私はボックスを所有しておらず、他のすべてが機能していますが、これは私にとって非常に奇妙です.
個人的な興味から、あまりバラ色ではない OpenJDK でこれがどのように発生するのでしょうか?