java程序經過編譯後會產生
⑴ java 源程序文件編譯後產生的文件稱為________文件,其擴展名為 ________ 。
Java 源程序文件編譯後產生的文件稱為(位元組碼)文件,其擴展名為(.class)。
解釋:JVM(java虛擬機)可以將java文件編譯為機器語言,是通過位元組碼的形式進行的存儲,此位元組碼文件的擴展名就是class文件,此擴展類型文件可以被虛擬機所識別和進行執行。
(1)java程序經過編譯後會產生擴展閱讀:
對於計算機而言,並不存在真正意義上的「好」的源代碼;然而作為一個人,好的書寫習慣將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標准。軟體文檔則是表明可讀性的關鍵。
雖然我們可以通過不同的語言來實現計算機的同一功能,但在執行效率上則存在不同。普遍規律是:越高級的語言,其執行效率越低。這也是為什麼匯編語言生成的文件比用VB語言生成文件普遍要小的原因。源代碼就是用匯編語言和高級語言寫出來的代碼。
⑵ java程序編譯後會產生位元組碼還是機器碼
java編譯後的是位元組碼。
位元組碼,為java源代碼編核兄譯完成後,由JVM轉爛氏昌換成的文件,可以在任何裝有JVM的系統飢扒上,轉化相應的機器語言。
機器碼:即機器語言,表示的就是運行位元組碼文件後的二進制序列。
⑶ 用高級語言編寫的源程序必須經過編譯,產生目標程序後才能運行,這句話對嗎
目標程序的運行依賴於特定的操作環境。通常情況下,源程序通過編譯器轉換成目標程序,但這僅僅是程序執行的第一步。目標程序必須進一步與庫文件、資源文件等進行鏈接,最終生成可執行文件,才能在計算機上順利運行。這一步驟對於許多高級語言如Java和C#尤為重要。Java和C#的程序在編譯後生成的是位元組碼,位元組碼需要運行時環境(JVM或CLR)解釋執行,因此不是真正的目標程序。
以Java為例,Java源代碼經過編譯器編譯後得到的是位元組碼文件,位元組碼文件並非可以直接運行的機器碼,而是需要在Java虛擬機(JVM)中解釋執行。這個過程確保了Java程序能夠在任何支持JVM的平台上運行,而無需重新編譯。同樣,C#程序編譯後生成的是CIL(中間語言)代碼,也需要CLR(公共語言運行時)來解釋執行。
因此,盡管編譯過程是程序開發中不可或缺的一環,但僅僅通過編譯並不能使程序具備運行條件。目標程序的運行需要經過鏈接和解釋執行的過程。無論是Java的位元組碼還是C#的CIL代碼,它們都需要相應的虛擬機環境來運行,這與傳統的機器碼目標程序存在本質區別。
總之,對於像Java和C#這樣的高級語言,編譯後生成的位元組碼或CIL代碼不是目標程序,它們必須在相應的運行時環境中運行。因此,上述說法並不完全准確,正確的理解應該是源程序經過編譯後生成的目標程序,還需進一步鏈接和解釋執行才能運行。