Servletはアップロード時にすでにclassファイルでサーバに保存、JSPはアップロード時にjspファイルで1回目のアクセス時にjavaファイルが作成(そしてサーバに保存)されさらにclassファイルが作成(そしてサーバに保存)されることは理解しました。
classファイルとなったあとさらにHotSpot VMなどでサーバOSネイティブファイル(Windowsサーバならexe形式?)にコンパイルされサーバに保存されるのかどうかが分かりません。
アドバイスよろしくお願いいたします。
No.1
- 回答日時:
通常のJava VMではネイティブ・コードをファイルに保存することはしていません。
ファイルとしてはクラスファイル(.class)で、HotSpotなどでは実行時にメモリ上で必要に応じてコンパイルして実行します。この回答への補足
rinkun様、ご回答ありがとうございます。
通常のJava VMではネイティブ・コードをファイルに保存することはしていないことは理解しました。
HotSpotなどで.classを実行時にメモリ上で必要に応じてコンパイルして実行した場合、部分コンパイル後のネイティブコードは2回目以降のアクセス時のために保存されるのかどうかが分かりません。
ここでいう「通常のJava VM」と「HotSpot」は別物なのでしょうか?
アドバイスいただける方がおりましたらどうかよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
HotSpot は Java VM に組み込まれて動くものです。
で、ネイティブコードはメモリの中にあるだけでどこにも書き出しません。(というか、書き出していたとしてもその仕様が公開されていません。普通はファイルの読み書きは遅いのでわざわざそんなことしないとは思いますが)。 「ネイティブコードはメモリの中にあるだけでどこにも書き出」さない、のですね!
「メモリの中にあるだけ」
↑
的確なアドバイスありがとうございます!
No.3
- 回答日時:
HotSpotはSUN JRE 1.3以降で組み込まれている機能だと記憶しています。
少なくとも知る限りのJava VMでネイティブ・コードをファイルに吐き出して再利用するものはありません。
# OSのスワップファイルに含まれる可能性は否定しませんがVMの機能じゃない
Javaコードをネイティブ実行形式ファイルにするものとしてはGCCや組み込み環境用のJavaコンパイラで幾つかあるくらいだと思います。
# これらはJavaソースから実行形式を作るコンパイラで
# 実行にはGCなどをサポートするライブラリが必要になる
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 だいたいの能力はどのくらいでしょうか 3 2023/03/05 17:18
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- C言語・C++・C# condaコマンドに対応したプロキシ設定が思うようにならないようです。 2 2022/04/11 17:15
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- Excel(エクセル) エクセルのファイルにリンクを貼る方法 4 2023/06/30 11:09
- C言語・C++・C# ファイルがあるのにエクスプローラでは存在しない 4 2023/02/15 17:36
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- サーバー Windows Server 2019 CALについて 3 2022/04/02 16:40
- サーバー こんにちは。サーバOSの保守のことで教えてください。レガシーOSのサーバを、脆弱性からまもるためには 1 2022/11/21 17:33
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
javaでuseBeanエラーの解決方法
-
javaクラスファイルをEclipseで...
-
classファイルについて
-
eclipse でclassesフォルダーが...
-
コンパイルした後 java (class...
-
SVFの設定について:クラスパス...
-
Eclipse「リフレッシュ」と「ク...
-
earファイルを展開する方法
-
C#でネットワーク上のMACアドレ...
-
コンパイルをしようとするとエ...
-
ResourceBundleクラスの使い方
-
プログラム実行の際に、「ソー...
-
TOMCATを使用したStrutsエラー...
-
java クラスファイルとソースコ...
-
EclipseでHTTP404エラーが出る。
-
jdbcドライバのjarファイルにク...
-
EclipseでのJSP・Servlet開発に...
-
ファイルのパスの取得について
-
Eclipseで、クラスを新規作成す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
eclipse でclassesフォルダーが...
-
EclipseでHTTP404エラーが出る。
-
earファイルを展開する方法
-
【Eclipse】パッケージ・エクス...
-
JADで*.jarごとデコンパイルす...
-
プログラム実行の際に、「ソー...
-
jdbcドライバのjarファイルにク...
-
「削除するか、クラスパスの正...
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
コンパイルした後 java (class...
-
【Eclipse】逆コンパイルでエラ...
-
Javaアプリケーションのアイコ...
-
VisualStudioでC++クラスを追加...
-
「メイン・マニフェスト属性が...
おすすめ情報