[解決済み] JVMはコンパイラなのかインタープリタなのか?
2023-05-03 12:12:37
質問
JVMはコンパイラなのかインタープリタなのか?
もしインタープリタであるなら、JVMの中に存在するJITコンパイラはどうなのでしょうか?
もしどちらでもないのなら、JVMとはいったい何なのでしょうか? (バイトコードを機械固有のコードに変換するなどのjVMの基本的な定義は必要ありません)。
どのように解決するのですか?
まず、次の用語について理解しましょう。
Javac
はJavaコンパイラで、あなたのJavaコードを
バイトコード
JVM
は Java Virtual Machine -- バイトコードを実行/解釈/変換して
ネイティブなマシンコード
JIT
は Just In Time Compiler -- 与えられたバイトコードの命令列を
ランタイム
で機械語にコンパイルし、ネイティブに実行する。主な目的は、パフォーマンスの最適化を行うことである。
では、あなたの疑問に対する答えを見つけましょう。
1)
JVM: is it a compiler or an interpreter?
--
Ans:
インタープリタ
2)
what about JIT compiler that exist inside the JVM?
--
Ans:
この返信を完全に読んだのであれば、おそらくもうお分かりでしょう。
3)
what exactly is the JVM?
--
Ans:
- JVM は、RAM 上に存在する仮想プラットフォームです。
-
その構成要素である
クラスローダー
は
.class
ファイルをRAMにロードします。 - は バイトコードベリファイア コンポーネントは、あなたのコードにアクセス制限違反があるかどうかをチェックします。(これはjavaが安全である主要な理由の1つです。)
- 次に 実行エンジン コンポーネントはバイトコードを実行可能なマシンコードに変換します。
これがあなたの助けになることを願って...
関連
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
プロジェクトの依存関係を解決できない。
-
SocketException java.netの4つの例外解決策。
-
API の戻り値を処理するために ResponseEntity を使用する
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Javaにおける例外処理によるパフォーマンスへの影響とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
Collections.sortがdoubleでソートできない問題を完璧に解決する。
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
Java の switch case 文で必要な定数式の問題の解決法
-
ApplicationContextの起動エラーです。条件レポートを表示するには、アプリケーションを'de'で再実行します。
-
Jsoup-Crawlingの動作
-
Javaジェネリックを1つの記事で
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。