java程序在編譯(javac .java文件名 指令)後會產生位元組碼文件,也就是.class文件。然後根據虛擬機所在系統(l例如:xp、win7、linux)的不同將位元組碼文件轉變為不同的可執行文件,這也是java程序可跨平台的根據。
⑵ java源代碼為什麼要編譯
程序設計高級語言的原理都是相似的。JAVA,C,C++,等都類似。
說一下JAVA的:
我們先把自然語言,也就是我們平時的話寫成程序設計高級語言,這是編程。
然後再通過編譯器生成class也就是位元組碼文件,這個過程是編譯。此時的class文件我們也可以稱之為二進制碼,就是計算機可識別的0,1文件了。而編譯是計算機內部運行,不需要編程者操作。
.java是以源文件形式存在,是編譯器和我們都可識別的語言。
編譯器識別了.java文件後生成.class文件,是編譯器和計算機可識別的語言。
然後計算機會使同名的.java和.class文件關聯,計算機自己有兩次翻譯過程,而這個過程操作者並不需要操心。之後我們就可以運行.java文件了。
⑶ Java 源程序文件編譯後產生的文件稱為________文件,其擴展名為 ________ 。
Java 源程序文件編譯後產生的文件稱為(位元組碼)文件,其擴展名為(.class)。
解釋:JVM(java虛擬機)可以將java文件編譯為機器語言,是通過位元組碼的形式進行的存儲,此位元組碼文件的擴展名就是class文件,此擴展類型文件可以被虛擬機所識別和進行執行。
(3)編譯java源代碼得到什麼擴展閱讀:
對於計算機而言,並不存在真正意義上的「好」的源代碼;然而作為一個人,好的書寫習慣將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標准。軟體文檔則是表明可讀性的關鍵。
雖然我們可以通過不同的語言來實現計算機的同一功能,但在執行效率上則存在不同。普遍規律是:越高級的語言,其執行效率越低。這也是為什麼匯編語言生成的文件比用VB語言生成文件普遍要小的原因。源代碼就是用匯編語言和高級語言寫出來的代碼。
⑷ java源程序編譯過後的文件是什麼文件
如果java項目的話編譯文件在項目目錄下的bin文件夾下如果是web項目編譯文件在web目錄/WEB-INF/classes/下面只有編譯後的代碼虛擬機才能執行
⑸ java源代碼為什麼要編譯
你現在電腦里的文件是文檔文件確切的說在計算機里也是0和1的序列 但是他和執行程序不是一
個類型的文件 文件是由類型的比如說mp3 是播放聲音的 MP4是播放視屏的 TXT是文檔文件
就是存儲文檔的 在回到問題
.java文件其實就和TXT文件一樣是文檔文件是用來存儲你寫的代碼的
他是拿來給你人看的
你要想讓他變成其可執行程序的文件你就得通過編譯器編譯它
編譯器是按照你寫的代碼把他們翻譯成可執行文件的編碼方式
然後你就可以運行它了
在計算機看來所有的文件都是0和1的組合 應為文件的類型的不同它會用不同的方式解讀它們
具體的java程序。編譯。運行等等環節怎麼完成怎麼解釋 你得慢慢了解 或者有時間我在給你解釋解釋
寫的比較亂 你湊合著看吧
⑹ 勇Javac編譯Java源文件後得到代碼叫位元組碼。
javac
是java語言編程編譯器。javac工具讀由java語言編寫的類和介面的定義,並將它們編譯成位元組代碼的class文件。javac
可以隱式編譯一些沒有在命令行中提及的源文件
⑺ 什麼是Java代碼的編譯與反編譯
Java代碼的編譯與反編譯
2017-02-21Hollis數盟
一、什麼是編譯
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。
二、什麼是反編譯
計算機軟體反向工程(Reverseengineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。
三、Java類的編譯與反編譯
我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。
class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。
那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)
四、什麼時候會用到反編譯
1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼我們可以把它反編譯成我們可以看得懂的文件。
2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。
五、反編譯工具
1、javap
2、Jad:官網(牆裂推薦)
客戶端:
可以在官網下載可執行文件,找到對應的操作系統的對應版本,然後進行安裝使用。
因為我使用的是linux操作系統,所以我下載的是Linux版本的工具,這個工具下載好之後會有一個執行文件,只要在執行文件所在目錄執行./jadhelloworld.class就會在當前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼
Eclipse插件:
下載地址在官網下載插件的jar包,然後將jar包放到eclipse的plugins目錄下『在打開Eclipse,Eclipse->Window->Preferences->Java,此時你會發現會比原來多了一個JadClipse的選項,單擊,在Pathtodecompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時文件的目錄。當然在JadClipse下還有一些子選項,如Debug,Directives等,按照默認配置即可。基本配置完畢後,我們可以查看一下class文件的默認打開方式,Eclipse->Window->Preferences->General->Editors->FileAssociations我們可以看到class文件的打開方式有兩個,JadClipse和Eclipse自帶的ClassFileViewer,而JadClipse是默認的。全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼
⑻ 編譯下面源程序會得到()文件
C,在java文件中只要是以class開始定義的,都認為是一個累。編譯後會生成相應的類文件
⑼ java源程序編譯過後的文件是什麼文件
1.
java文件編譯過後會生成一個class文件,裡面是以二進制方式存放的代碼
2.
機器可以識別class文件中的內容,然後作出相應的操作。
⑽ java編譯器的作用是什麼
java編譯器的作用就是「編譯」,即將java源代碼編譯成中間代碼位元組碼文件。
編譯時,編譯器(java.exe)首先讀入 java 源代碼,然後進行語法檢查,如果出現問題就終止編譯。語法檢查通過後,生成中間代碼即位元組碼。
位元組碼文件是一種和任何具體機器環境及操作系統環境無關的中間代碼,它是一種二進制文件,是Java源文件由Java編譯器編譯後生成的目標代碼文件。
編譯器編譯生成與平台無關的位元組碼文件後,提供給 JVM (Java虛擬機)執行。