當前位置:首頁 » 編程軟體 » 虛擬機編譯位元組碼

虛擬機編譯位元組碼

發布時間: 2022-07-31 00:45:11

java 源程序文件編譯後產生的文件稱為________文件,其擴展名為 ________ 。

Java 源程序文件編譯後產生的文件稱為(位元組碼)文件,其擴展名為(.class)。

解釋:JVM(java虛擬機)可以將java文件編譯為機器語言,是通過位元組碼的形式進行的存儲,此位元組碼文件的擴展名就是class文件,此擴展類型文件可以被虛擬機所識別和進行執行。

(1)虛擬機編譯位元組碼擴展閱讀:

對於計算機而言,並不存在真正意義上的「好」的源代碼;然而作為一個人,好的書寫習慣將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標准。軟體文檔則是表明可讀性的關鍵。

雖然我們可以通過不同的語言來實現計算機的同一功能,但在執行效率上則存在不同。普遍規律是:越高級的語言,其執行效率越低。這也是為什麼匯編語言生成的文件比用VB語言生成文件普遍要小的原因。源代碼就是用匯編語言和高級語言寫出來的代碼。

② java虛擬機是將class位元組碼文件解譯成機器碼而後運行嗎

對。jdk是中間編譯器,編出一個class位元組碼文件。java虛擬機是終極編譯器,把class位元組碼文件編成不同機器(操作系統、cpu)上運行的機器碼。

③ 負責編譯和解釋執行位元組碼的是編譯器還是虛擬機

java執行的位元組碼會被虛擬機翻譯成本地的匯編,再交給CPU運行,C++編譯出來的直接是本地的匯編,不需要再次轉換,所以C++程序的執行效率更高一些。

④ 請問通過Java虛擬機先編譯源代碼為位元組碼再由各平台解釋器解釋 各平台都有什麼

java編譯後的位元組碼-----Windows平台的java虛擬機----》Windows認識的
java編譯後的位元組碼---------》Lin ux平台的java虛擬機-------》Lin ux平台
java編譯後的位元組碼---------MacOS平台的java虛擬機——》MacOS平台
這3個平台基本是電腦大多數了 ,其他平台我也不知道有哪些了
手機平台 安卓和蘋果。。。主流2個

⑤ java中,虛擬機編譯後的位元組碼要不要放到底層讓CPU計算

位元組碼不是虛擬機編譯的,而是java的編譯器。
虛擬機是用來運行的。class中的每行位元組碼,都會觸發虛擬機的某段程序運行。而虛擬機會針對不同的操作系統不同而不同。

⑥ 什麼是Java虛擬機它的作用是什麼

Java虛擬機是一種抽象化的計算機,作用是可以在多種平台上不加修改地運行。

Java虛擬機通過在實際的計算機上模擬模擬各種計算機功能來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。

Java虛擬機屏蔽了與具體操作系統平台相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼,就可以在多種平台上不加修改地運行。

(6)虛擬機編譯位元組碼擴展閱讀:

Java虛擬機支持大約248個位元組碼。每個位元組碼執行一種基本的CPU運算,例如,把一個整數加到寄存器,子程序轉移等。Java指令集相當於Java程序的匯編語言。

Java指令集中的指令包含一個單位元組的操作符,用於指定要執行的操作,還有0個或多個操作數,提供操作所需的參數或數據。許多指令沒有操作數,僅由一個單位元組的操作符構成。

⑦ java可以通過虛擬機把位元組碼變成本地機器語言嗎

Java編譯器並沒有把源代碼翻譯為目標機器的機器語言程序,而是翻譯成了位元組碼文件。位元組碼文件由Java虛擬機解釋運行。Java解釋器就是Java虛擬機。
Java位元組碼按照Java語言規范,統一了位元組順序等差異(大端還是小端?CISC處理器和其它的RISC處理器是不同的),對編譯器的實現細節也進行了具體規定。這樣就可以在虛擬機中執行了。

⑧ 位元組碼文件必須要經過Java虛擬機才能被執行嗎

是的,這需要對JVM虛擬機有一定的了解,.java要運行要經過如下步驟:

1、源代碼文件.java經過javac命令的編譯形成.class位元組碼文件。

2、然後位元組碼文件經過一番步驟後java虛擬機將這些二進制位元組碼按照一定的方式讀入內存中的不同區域形成了二進制位元組碼的活化狀態。

3、虛擬機使用位元組碼指定的命令執行這些指令,其間使用位元組碼中存儲的數據,最終完成了任務。

從上面的步驟可以看出,源文件在編譯生成.class位元組碼文件後,需要通過虛擬機才能被執行。如果你是Java的初學者,可以到秒秒學學習了解下Java的相關課程。

熱點內容
jffs2解壓 發布:2025-02-08 13:55:15 瀏覽:386
如何向伺服器發送大數據包 發布:2025-02-08 13:55:12 瀏覽:660
伺服器pop地址是什麼 發布:2025-02-08 13:39:21 瀏覽:386
網站訪問計數器 發布:2025-02-08 13:32:07 瀏覽:6
釣魚的腥怎麼配置 發布:2025-02-08 13:22:57 瀏覽:754
php數組的引用 發布:2025-02-08 13:22:54 瀏覽:94
致遠a6伺服器地址在哪裡看 發布:2025-02-08 13:22:06 瀏覽:132
bak文件還原資料庫 發布:2025-02-08 13:21:34 瀏覽:103
雙向的訪問了你的空間 發布:2025-02-08 13:13:20 瀏覽:701
python元素是否在list 發布:2025-02-08 13:11:38 瀏覽:695