問題タブ [jvm-hotspot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2598 参照

java - .NET ランタイム vs. Java ホットスポット: .NET は 1 世代遅れているか?

.NET と Java の実行環境で収集できた情報によると、現在の状況は次のとおりです。

ベンチマークはさておき、聖戦をエスカレートさせるつもりはないが、これは Java Hotspot VM が .Net よりも 1 世代進んでいることを意味するのだろうか。Java VM で採用されているこれらのテクノロジは、最終的に .NET ランタイムに組み込まれるのでしょうか?

0 投票する
1 に答える
351 参照

java - 条件付き JIT コンパイル

Javaでは、次のように条件付きコンパイルを行うことができます

コンパイラは、DO_CHECK が常に false であることを確認し、if ステートメント全体を削除します。ただし、特にライブラリコードでは、条件付きコンパイルを使用できない場合がありますが、条件付き JIT コンパイルを使用できるのでしょうか?

doCheck = false で LibraryClass を構築した場合、JIT コンパイラ (Hotspot 内) は if ステートメントも削除しますか?

更新: JIT コンパイルはおそらくインスタンス レベルでは行われないことに気付いたので、これは機能しないと思いますが、静的な方法があるのではないでしょうか?

0 投票する
2 に答える
137 参照

java - スタック消費の変動性はどこから来るのですか?

この質問からテスト コードを実行し、JVM のスレッド スタック サイズをいじっているうちに、結果が必ずしも再現可能であるとは限らないことわかりましjava.lang.StackOverflowErrorた。

私の質問は、「スタック スペース消費量の変動の原因は何ですか?」です。

また、割り込みのスタックをこのプログラムのメインスレッドに置くことはできますか? 結果は、他の JVM 実装やオペレーティング システムでも同様に非決定的になりますか?

テストコード

スタックサイズ設定ごとにテストプログラムを複数回実行する愚かなbashスクリプト

結果

0 投票する
3 に答える
60153 参照

java - XX:MaxDirectMemorySizeのデフォルト

XX:MaxDirectMemorySizeのデフォルト値は何ですか?

0 投票する
2 に答える
221 参照

java - クラスが異なるクラスローダーによってロードされる場合、(sun-jvm)ホットスポットの最適化は複数回行われますか?

(コンテナ-)アプリケーションが、他のいくつかの/サブアプリケーションをホストするために複数のクラスローダーを作成していると想像してください。

コンテナアプリ用の-say-rootクラスローダーがあります。サブアプリケーションがロードされるたびに、コンテナはこのアプリケーションの新しいクラスローダーを作成します。

一部のサブアプリケーションは同じクラスを使用しますが、コンテナのクラスローダーによってロードされなかったため、各サブアプリケーション(より良い:クラスローダー)はクラスAなどのコードをロードします。したがって、permspaceは2回入力されます。1回はサブアプリケーション用です。 #1とサブアプリ#2の場合は1回。

これは、太陽のホットスポット最適化にとって何を意味しますか?
同じ最適化がクラスAで2回、クラスローダーごとに1回発生しますか?
または、これを回避する「魔法」が組み込まれていますか?(最適化は一度行われます)
誰かがリンクを知っていますが、これは説明されましたか?

私はjdk1.6で出荷される太陽(サーバー)VMについて言及しています

0 投票する
2 に答える
7190 参照

java - 特定のメソッド/クラスに対してJavaJITを無効にしますか?

Javaアプリケーションで、JITがコードを壊すという問題が発生しています。JITを無効にすると、すべて正常に動作しますが、実行速度は10〜20倍遅くなります。

特定のメソッドまたはクラスのJITを無効にする方法はありますか?

編集:私はUbuntu 10.10を使用しており、次の両方で同じ結果が得られます。

と:

0 投票する
2 に答える
639 参照

java - インスタンスがどの GC 世代に存在するかをプログラムで調べることはできますか?

この質問はHotSpot 世代に限定されています。特定のインスタンスがどの世代に住んでいるかをプログラムで調べる方法はありますか? 次のようなデータ:

  • 若い世代か古い世代か?
  • 若い場合、どのサバイバー スペースですか?
  • TLABの中?どのスレッド?

次のようなことができる限り、任意の手法 (例: BTraceJVMTI ) が機能します。

物乞いは選択者になることはできませんが、理想的には、関心のあるインスタンスが発生した瞬間にある世代から別の世代に移動された時期を知ることもできます(つまり、イベント コールバックに基づいており、ポーリングに内在する遅延とオーバーヘッドには関心がありません)。

理由もなく「いいえ」と言う答えには興味がありません:)

0 投票する
2 に答える
6169 参照

java - Java での境界チェック

「ホットスポットは Java の境界チェックを削除できます。」誰でもこれを説明できますか?実際に C++ と Java の違いを分析しています。それは宿題ではなく、私自身の興味で分析しています。

0 投票する
3 に答える
18517 参照

garbage-collection - JMX (HotSpot) で「フル GC」の頻度を監視することは可能ですか?

JMX でフル GC の頻度を監視したい。MBean は GC カウントを公開します。(参照http://download.oracle.com/javase/1.5.0/docs/api/java/lang/management/GarbageCollectorMXBean.html - java.lang:type=GarbageCollector,name=)。

問題は、MBean がマイナー GC とフル GC を区別しないことです。

誰かがアイデアを持っていますか?

ありがとう。

アルノー

0 投票する
4 に答える
5473 参照

java - CompilerThread での JVM クラッシュ

SIGSEGV を使用して、特定のメソッド (常に同じメソッド) をコンパイルしようとすると、Java アプリケーションがほぼ一貫してクラッシュします。

クラッシュ ログ (興味深い部分...):

コア ダンプを作成して接続しようとしましたが、そこに CompilerThread が見つかりませんでした (おそらくは強制終了されている可能性があります)。