問題タブ [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 投票する
1 に答える
523 参照

java - netbeans にホットスポット サーバー vm を使用させる方法はありますか

デフォルトでnetbeansがホットスポットサーバーvmを使用しているかどうかは誰にもわかりませんか? それがそうでない選択肢になるかどうかを理解しようとしています。ありがとう!

-ロジャー-

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

java - ホットスポットサーバーのJVMで実行すると、このコードスニペットに実際に時間がかかるのはなぜですか?

コードスニペットは次のとおりです。

https://gist.github.com/987751

私にとっては、次のような時間があります。

したがって、最初の質問は「なぜクライアントVMよりも遅いのか」です。

また、次の質問は、「メソッド呼び出し方法でその超0msの高速化を実現することは可能ですか(ほぼ同じコードです)」と思います。

また、この奇妙さにもかかわらず、たとえば匿名のクラスなどでも、ホットスポットは一般的にはるかに高速に実行されると思いますか?

ありがとう!

-ロジャー-

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

java - JVM はオブジェクトのインスタンス変数とメソッドをインライン化する予定はありますか?

非常にタイトな内部ループがあるとします。各反復は、アルゴリズムに関するいくつかの単純なデータを格納し、それを操作するための単純なロジックを持つ単一の簿記オブジェクトにアクセスして変更します。

ブックキーピング オブジェクトは非公開かつ最終的であり、そのすべてのメソッドは非公開、最終、および @inline です。以下に例を示します (Scala 構文):

JVM は DataRemaining オブジェクト全体をインライン化しFrobnicate.frobnicateますか? つまり、startandendをローカル変数として扱い、 nextChunk コードを に直接インライン化しfrobnicateますか?

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

java - Hotspot's scavenge GC stops running, leaving only the mark-sweep GC

I'm experiencing something weird with Hotspot's GC in a certain program. Sometimes, it seems almost as if the scavenge GC just dies, leaving only the mark-sweep GC running instead every time the Eden space fills up. Needless to say, this is horrible for performance. I haven't managed to figure out the conditions for this issue to occur.

Looking at a JVM with this behavior right now, the old-gen is 170 MB (used and max) and never grows or shrinks over a collection, the Eden gen is 85 MB, the Survivor spaces are never used whatsoever (which I guess is consistent with the scavenge GC not running), and the total allocated heap size is 256 MB (matching, obviously, Old+Eden).

Any clues as to what might cause this?

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

java - Java の最適化: (Hotspot/Dalvik) 定数を返す最終メソッドの最適化?

Hotspot または Dalvik が、定数 (静的最終) int 値を返す最終メソッドへの呼び出しをインライン化するのに十分スマートであるかどうか、誰か教えてもらえますか? 理想的には、メソッド呼び出しは定数に置き換えられます。これは、クラスのロード時または JIT によるものである可能性があります。

これは、私が取り組んでいるいくつかのコードの設計に影響を与えます。

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

java - この場合、Java が C よりも速い (そして遅い) のはなぜですか?

K&R を読んで C の学習を始めたばかりの人がいて、最初のページに華氏から摂氏への変換ループが印刷されています。

彼は Java は遅いと言われました。それで、最近Javaは非常に競争力がありますが、この単純なケースではCの方がおそらく速いだろうと彼に言いました。彼を証明したくて、基本的に「System.out」を追加しました。printf() の前。

10倍以上遅くなりました。やりすぎ。私は当惑しました。String オブジェクトの作成、GC、-server、yada、yada、yada について考えました。

PrintSteam.write()実際にはほぼ 100% の時間が printf() (出力は /dev/null にパイプされます) に費やされていることがわかったとき、私はさらに困惑しました。

いくつかいじった後、私はこれを思いつきました(今のところ %f の丸めはしません):

したがって、これは NIO を使用します。また、テストした 2 台のマシンで gcc -O2 よりも優れています。

質問:

  • C から Java へのリテラル トランススクリプト (つまりPrintStream)が非常に遅いのはなぜですか?
  • (コメントout.printf()が遅いのはなぜですか [時間の経過とともにパフォーマンスが低下する可能性があります]?)
  • 最後に: なぜ私のソリューションは C よりも高速なのですか (JVM の起動時間を含む)?
0 投票する
3 に答える
7329 参照

java - JvmJITとホットスポット-違いは何ですか

これらの用語が使用されていると聞きましたが、Javaフレームワークのどこにそれらがすべて適合するかについてのトップレベルのビューを見つけることができないようです。JITがコンパイルメカニズムであることは知っていますが、JVMの一部ですか?ホットスポットとは何ですか?新しいタイプのVMですか?

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

java - Sun の JVM の内部動作に関する情報はどこにありますか?

開発者として、仮想メソッドとインターフェイス メソッドの呼び出しのコストを知りたいです。invokeinterfaceこれで、が よりも遅くなる理由はわかりましたがinvokevirtual、Sun がリリースした JVM の最新バージョンでinvokeinterface. どうすればそのような情報を見つけることができますか?

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

java - ホットスポットのデフォルトの最大ヒープ サイズ

次のドキュメントhttp://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#par_gc.ergonomics.default_sizeによると、並列 GC のデフォルトの最大ヒープ サイズは、式 MIN(メモリ/4、1GB)。式から明らかですが、ドキュメントには、「マシンにインストールされているメモリの量に関係なく、デフォルトの最大ヒープ サイズは 1GB を超えない」と記載されています。次のプログラムを書いたことを確認するには

このプログラムは、16Gb の RAM を搭載したボックスで実行しました。

古い世代では 2GB の配列が割り当てられていました。MaxHeapSize は 4GB で、システム メモリの 1/4 です。JVM がヒープ用に 4GB を予約したのはなぜですか?

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

java - ReservedCodeCacheSize と InitialCodeCacheSize とは何ですか?

誰かがJVMオプションReservedCodeCacheSizeInitialCodeCacheSizeは何かを説明できますか? 具体的には、いつ/なぜ変更したいのですか? 適切なサイズはどうやって決めるのですか?

これはドキュメントが言うことです:

-XX:ReservedCodeCacheSize=32m 予約済みコード キャッシュ サイズ (バイト単位) - 最大コード キャッシュ サイズ。[Solaris 64 ビット、amd64、および -server x86: 2048m; 1.5.0_06 以前では、Solaris 64 ビットおよび and64: 1024m.]