jdk18源碼編譯
⑴ JDK的編譯和運行程序命令是什麼個針對什麼類型文件
javac:
編譯命令,將java源文件編譯成.class位元組碼文件。
例如:
javacDemo.java
注意這里是源文件
同目錄下會生成Demo.class文件。
java:
運行位元組碼文件,由java虛擬機對位元組碼進行解釋和運行。
例如:
javaDemo
注意這里是文件名
注意事項:
(1) 配置好jdk環境變數,可以運行命令java、javac來測試。
(2) 先javac Demo.java(編譯),後java Demo(運行)
(3) 注意java Demo(文件名,不帶後綴)
(1)jdk18源碼編譯擴展閱讀:
Java 面向對象編程三大特性:封裝、繼承、多態
封裝
類:封裝的是對象的屬性和行為
方法:封裝的是一段特定的業務邏輯功能
訪問控制修飾符:封裝的是具體訪問的許可權
繼承
作用:代碼復用
超類:所有派生類所共有的屬性和行為
介面:部分派生類所共有的行為
派生類:派生類所特有的屬性和行為
傳遞性,單一繼承、多介面實現
⑵ 關於自己編譯JDK的問題
1 JDK是c/c++寫的, 編譯就是把JDK編譯成可以運行的狀態, 可運行的意思是指可以編譯運行.java文件. 而一般情況下官方下載的JDK都是已經幫你編譯好而已.
2 作者可以用自己編譯的, 也可以用官方編譯好的. 這個要看書中的說明了
3 JDK是c/c++寫的, 裡面和其他c++程序沒什麼區別, windows下面是一堆dll和一堆exe. 你說的.java文件是JDK的功能之一, 幫你編譯java文件成class, JVM是運行class文件的容器
善意提醒:如果你想學java, 而且沒學過c++, 相信你是買錯書了
⑶ 怎麼編譯並調試 openjdk 源代碼
環境構建需要的工具
1.cygwin 工具。這個工具的主要用處是為了在window平台上模擬出一個unix虛擬環境。
為了能夠在window下編譯openJDK,我們需要手動安裝的工具如下:
Devel:binutils,make.
Interpreters:m4
Utils:cpio,awk,file(我在安裝的過程中,沒找到awk包和file包,可能是版本的問題。)
Archive:zip,unzip
System:procps
以上提供的鍵值對說明:(前面是文件名:包名)
2.安裝編譯器,我選用的編譯器是VS2010,因為這個編譯器中包好了windows SDK v7.0a,否則還要自己去下載這個SDK
(cygwin和vs2010安裝後都會在操作系統的path環境變數中加入自己的bin目錄路徑,必須保證VS2010的bin目錄在 cygwin的bin目錄之前,因為這兩個軟體的bin目錄中各自都有一個連接器「link.exe」,但是只有VS2010中的連接器可以完成 openJDK的編譯)
3.下載一個已經編譯好的JDK。
4.最後一步就是下載一個Apache ANT,JDK中的java代碼部分都是使用ANT腳本進行編譯的,ANT版本要求在1.6.5以上。
5.准備依賴項。
由於OpenJDK中的源碼沒有100%開源,但是在編譯JDK的時候,我們又需要這部分閉源包,官方稱為「JDK plug」。這部分閉源包可以從Source Releases頁面下載。在windows平台下,其是以jar包的形式存在的。通過下面的命令就可以安裝
java -jar jdk-7-ea-plug-b121-windows-i586-09_dec_1010.jar
運行後就會出現提示框,點擊accept接受協議,然後安裝到指定目錄即可。
安裝完成後建立一個環境變數「ALT_BINARY_PLUGS-PATH」,變數值為安裝的JDK plug的安裝路徑,後面編譯的時候需要它
6.安裝一個大於2.3版本的FreeType,這是一個免費的字體渲染庫。JDK的Swing部分和JConsole這類工具要使用到它。安裝好後建立兩個環境變數「ALT_FREETYPE_LIB_PATH」和「ALT_FREETYPE_HEADERS_PATH」,分別指向FreeType安裝目錄下的bin目錄和include目錄。另外還有一點官方文檔沒有提到但必須要做的事情是把FreeType的bin目錄加入到PATH環境變數中。
7.下載Microsoft DirectX 9.0 SDK(Summer 2004),安裝後大約有298MB,在微軟官方網站上搜索一下就可以找到下載地址,它是免費的。安裝後建立環境變數「ALT_DXSDK_PATH」指向DirectX 9.0 SDK的安裝目錄
8.去尋找一個名為「MSVCR100.DLL」的動態鏈接庫,如果讀者在前面安裝了全套的Visual Studio 2010,那這個文件在本機就能找到,否則上網搜索一下也能找到單獨的下載地址,大概有744KB。建立環境變數「ALT_MSVCRNN_DLL_PATH」指向這個文件所在的目錄。如果讀者選擇的是VS2003,這個文件名應當為「MSVCR73.DLL」,應該在很多軟體中都包含有這個文件,如果找不到的話,前面下載的「Bootstrap JDK」的bin目錄中應該也有一個,直接拿來用吧。
⑷ java:哪裡能看到JDK的源代碼
我認為你說的是Java的源碼,JDK是一個編譯器
Java源碼在Javajdk1.8.0_60src.zip中
如果你要的真的是Jdk的源碼的話,Orccle官網應該會有
⑸ 什麼是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即可查看源碼
⑹ jdk18出來了嗎
jdk18目前還沒有真正出來,現在目前也只是出到了2021年9月的jdk17,至於18可能還要等一陣時間,因為後面的版本感覺太多bug了,一直優化一直修,難搞。
拓展知識:
JDK是 Java 語言的軟體開發工具包,主要用於移動設備、嵌入式設備上的java應用程序。JDK是整個java開發的核心,它包含了JAVA的運行環境(JVM+Java系統類庫)和JAVA工具。沒有JDK的話,無法編譯Java程序(指java源碼.java文件),如果想只運行Java程序(指class或jar或其它歸檔文件),要確保已安裝相應的JRE。
⑺ JDK的編譯命令是什麼如果編譯程序顯示下圖所示錯誤,通常是什麼原因
JDK的編譯命令是java。
一般都是通過IDE(如Eclipse、Intellij Idea,MyEclipse)來開發,調試java項目,但作為學習Java初學者,應從使用JDK命令行編譯、運行Java程序開始。
如果編譯程序顯示下圖所示錯誤,通常是什麼原因?由於未上傳圖片,無法分辨原因。
⑻ 怎樣把java的源碼編譯成class文件
1.你用記事本寫的話,首先確定你的jdk安裝正確,並且PATH和CLASSPATH設置正確,檢測方法就是在cmd下輸入java
-version,如果有提示jdk版本低信息那就是安裝好了。然後進行使用dos命令進入你的java源文件(*.java)的目錄下,使用javac
命令進行編譯。例如你的java源文件是Test.java,那編譯命令就是javac
Test.java
然後編譯後使用java
Test命令進行執行你的java程序2.如果你用的Eclipse工具的話,那麼你就不需要編譯了,Eclipse可以在你寫代碼的同時給你編譯好,直接執行就可以了。
⑼ 怎樣把java的源碼編譯成class文件
用dos就可以,點開始--運行cmd--找到你要編譯的java文件的地址然後javac 加上你的文件名就編譯出來了注意javac和文件名之間要加空格
⑽ 如何用JDK編譯JAVA程序
1 你把文件名拼錯了,java對大小寫是敏感的。打錯了當然找不到文件。
2 虛擬機沒有找到必須的類庫。你可能沒有在autoexec.bat文件中設置classpath。進入windows的運行,輸入sysedit,然後在autoexec.bat文件中加入這么一行:
set classpath=你的jdk的安裝目錄/lib; 例如set classpath=c:/jdk1.3.0_02/lib;
保存退出後,你要在dos窗口的c根目錄下執行一遍autoexec.bat文件已保證被設置了,當然,如果你願意也可以重啟機器。