この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 18821|答える: 5

[出典] Javaの仮想マシンJVMのサーバーとクライアントの違い

[リンクをコピー]
掲載地 2017/07/24 11:10:31 | | |
Javaの2つのVM:ServerとClientについての概要


--------------------------------------------------------------------自分自身から-----------------------------------------------------------------------
現在、サーバーモードをサポートしているのは64ビットのみです
サーバーVMはクライアントVMより約10%遅く起動します。クライアントVMの少なくとも10倍の速度で動作します
サーバーのCPU、メモリ、ハードディスクはクライアントマシンよりも高性能であるため、プログラム展開後はより良いパフォーマンスを得るためにサーバーモードで起動する必要があります。
JVMはクライアントモードで1M、-Xmxで64Mがデフォルトです。 JVMはサーバーモードでデフォルトで128M、-Xmxで1024Mとなります。
server:启动慢,编译更完全,编译器是自适应编译器,效率高,针对服务端应用优化,在服务器环境中最大化程序执行速度而设计。
client:快速启动,内存占用少,编译快,针对桌面应用程序优化,为在客户端环境中减少启动时间而优化;
GCについて:
クライエンモードでは、新世代はシリアルGCを選び、旧世代はシリアルGCを選択します
サーバーモードでは、新世代は並列リサイクルGCを選択し、旧世代はパラレルGCを選択します
一般的に、システムアプリケーションを選択する方法は2つあります:スループット優先度と一時停止時間優先度です。スループット優先度にはサーバーのデフォルトの並列GCモードが使用され、一時停止時間の優先度には並行GC(CMS)モードが選択されます。


--------------------------------------------------------------------ブラウザから-------------------------------------------------------------------------
JDKには2種類のVMがあります。VMクライアントとVMサーバーアプリケーションです。 両ソリューションはJavaランタイムのホットスポットコードベースを共有していますが、クライアントとサーバーの両方で独自の性能特性を持つために異なるコンパイラを使用し、その違いにはインラインポリシーの作成やヒープデフォルトが含まれます。

サーバーとクライアントVMは似ていますが、サーバーVMは最大ピークの動作速度に特化して調整されています。 これは、高速な起動時間や小さなランタイムメモリ容量を超えて最速の実行速度を必要とする長時間実行サーバーアプリケーションを実行することを目的としています。

カスタマーVMコンパイラは、従来のJDKバージョンを通じて、クラシックな仮想マシンやリアルタイムアップグレード(JIT)で使用されるコンパイラです。 クライアント仮想マシンは、アプリケーションやアプレットの実行において性能を向上させます。 Java仮想マシンのホットスポット顧客は、アプリケーションの起動時間とメモリ使用量を削減するために特別に調整されており、顧客環境に特に適しています。 一般的に、クライアントシステムはより良いグラフィカルユーザーインターフェースを持っています。

つまり、本当の違いはコンパイラレベルにも見られます:

クライアント仮想マシンコンパイラは、コンパイラがサーバー仮想マシン上で行うより複雑な最適化を試みませんが、交換中にコードの解析とコンパイルにかかる時間は短くなります。 これにより、クライアント仮想マシンはより高速に起動でき、メモリ使用量も小さくなります。

サーバー仮想マシンには、多くのC++コンパイラ最適化をサポートする高度な適応コンパイラが搭載されており、同タイプの最適化や、従来のコンパイラでは実現できない、例えば仮想メソッドでの積極的なインライン呼び出しなども対応しています。 静的コンパイラは競争とパフォーマンスの両方で優位性があります。 適応最適化手法は非常に柔軟で、しばしば高度な静的解析やコンパイル技術よりも優れた性能を発揮します。

-Serverモードが始まると速度は遅くなりますが、一度実行されるとパフォーマンスが大幅に向上します。なぜなら、仮想マシンが-ClientモードのときはコードネームのC1という軽量コンパイラを使用し、-Serverモードで起動する仮想マシンはコード名のC2コンパイラを使用します。C2はC1コンパイラよりも比較的徹底的にコンパイルされており、サービス後のパフォーマンスも高いからです。

一般的に、-server KNOWNと-client KNOWNの2つの構成の順序を変えれば、前提として、サーバーフォルダとクライアントフォルダの両方がJAVA_HOMEの/jre/binディレクトリに存在しますそれぞれのJVMに対応する




先の:2097152KBのオブジェクトヒープに十分な容量を確保できませんでした
次に:NugetにAutoMapperをインストールする際のエラーに対するVS2012の解決策
 地主| 掲載地 2017/08/14 16:52:24 |
VMエラーの初期化中にJAVAエラーが発生しました
http://www.itsvse.com/thread-3972-1-1.html
(出典:建築家)
掲載地 2017/10/21 15:34:08 |
VMwareのみ使用しました
掲載地 2017/12/17 8:58:20 |
10点欲しい
掲載地 2017/12/21 10:09:50 |
Javaの仮想マシンJVMのサーバーとクライアントの違い
掲載地 2018/03/08 20:37:43 |
1000万ドル欲しい
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com