首先你要在你的電腦上安裝jdk。你可以在后面鏈接地址下載適合你自己的版本(),如果這個鏈接過期了,請在這個首先找一找。
成都創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、海港網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為海港等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
在你的電腦上配置java環(huán)境變量,主要是配置path和classpath。你可以百度java環(huán)境變量配置,可以找到很多java環(huán)境變量配置方法。配置完畢,可以在cmd窗口下用java -version來查看是否配置成功。如果顯示出java版本相關(guān)的信息表示配置成功,可以進(jìn)行下一步了。
編譯你的源代碼,cmd窗口下把路徑改變(cd)到你源代碼文件所在的路徑,然后用javac 源文件名編譯,例如javac Hello.java(需要注意的是源文件名需要是你文件public類的類名,如果你的文件有public類的話)。當(dāng)然你也可以不改變(cd)到源文件所在的路徑,你的文件就需要加上絕對路徑就可以了。例如:javac e:\src\Hello.java.
運(yùn)行你編譯好的文件,java Hello(需要注意運(yùn)行的時候沒有后綴.java或者.class),同樣你可以不改變路徑用絕對路徑運(yùn)行,例如:java e:\src\Hello.如果你的代碼中有窗口這樣的類似的圖形化界面,你就需要用javaw來運(yùn)行。
另外,你可以使用eclipse,NetBeans這樣的集成開發(fā)環(huán)境(IDE)來寫代碼,這樣方便很多。
1. 新建一個記事本,后綴名是? .java? ;然后在里面寫一段java的代碼,如圖:
2.把寫好的java文件丟進(jìn)D盤,就是第一步給出的那個class文件;
3. 打開dos界面 開始-〉運(yùn)行-〉cmd-〉 這個是命令行模式,選擇D盤,如圖:
4.選擇D盤之后,在命令提示符中輸入“javac 文件名.java”,我的文件名為java,所以輸入javac java.java然后回車,等待編譯。這時候你就會發(fā)現(xiàn)它提示說javac不是內(nèi)部文件。接下來就是java環(huán)境變量設(shè)置的問題了;
5.下載一個jdk執(zhí)行默認(rèn)安裝。例如我下的jdk版本是: jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe;
6.配置環(huán)境:右擊我的電腦點(diǎn)屬性,進(jìn)去點(diǎn)高級就能看到環(huán)境變量。點(diǎn)進(jìn)去就能設(shè)置你的系統(tǒng)變量了,如圖:
6-1。變量名:classpath??? 變量值:(.;C:\Program Files\Java\jdk1.6.0_10\lib;)括號里面都是 (主要我們在編譯運(yùn)行程序的時候通過classpath可以幫助我們找到一些需要的系統(tǒng)類,“.”號是表示當(dāng)前路徑;“;”號是用來隔開多個變量值,如果你的系統(tǒng)里面已經(jīng)有classpath環(huán) 境變量,就不用新建了,直接加“;”號,在后面加新值);如圖所示
java中的JVM是能夠在計算機(jī)CPU上執(zhí)行的二進(jìn)制代碼。
java的執(zhí)行過程
Java代碼需要經(jīng)過編譯和解釋兩個步驟,才在能在平臺上運(yùn)行。首先java語言的編譯器,幫java代碼編譯成class的字節(jié)碼,之后通過java虛擬機(jī)(JVM)來解釋執(zhí)行。
java代碼的編譯
java代碼是如何編譯的?
首先編譯的解釋:把用高級程序設(shè)計語言書寫的源程序,翻譯成等價的計算機(jī)匯編語言或機(jī)器語言書寫的目標(biāo)程序的翻譯程序。編譯的具體過程,可以看看《編譯原理》相關(guān)的書籍。
其實(shí)java的編譯過程,和通常c/c++還是不同的。
java編譯后的字節(jié)碼文件格式主要分為兩部分:常量池和方法字節(jié)碼。常量池記錄的是代碼出現(xiàn)過的所有token(類名,成員變量名等等)以及符號引用(方法引用,成員變量引用等等);方法字節(jié)碼放的是類中各個方法的字節(jié)碼。
Java編譯器卻不將對變量和方法的引用編譯為數(shù)值引用,也不確定程序執(zhí)行過程中的內(nèi)存布局,而是將些符號引用信息保留在字節(jié)碼中,由解釋器在運(yùn)行過程中創(chuàng)立內(nèi)存布局,然后再通過查表來確定一個方法所在的地址,這樣就有效地保證了java的可移植性和安全性。
c/c++的編譯,當(dāng)C編譯器編譯生成一個對象的代碼時,該代碼是為在某一特定硬件平臺運(yùn)行而生成的。因此在編譯過程中,編譯程序通過查表將所有對符號的引用轉(zhuǎn)換為特定的內(nèi)存偏移量,以保證程序運(yùn)行。
java虛擬機(jī)(JVM)
簡單的可以這樣理解它的功能:就是將java編譯之后的字節(jié)碼,解釋成cpu能夠執(zhí)行的二進(jìn)制代碼。
JVM是一個虛構(gòu)出來的計算機(jī),是通過在實(shí)際的計算機(jī)上仿真模擬各種計算機(jī)功能來實(shí)現(xiàn)的。JVM有自己完善的硬件架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。JVM?的主要工作是解釋自己的指令集(即字節(jié)碼)并映射到本地的?CPU?的指令集或?OS?的系統(tǒng)調(diào)用。Java語言是跨平臺運(yùn)行的,其實(shí)就是不同的操作系統(tǒng),使用不同的JVM映射規(guī)則,讓其與操作系統(tǒng)無關(guān),完成了跨平臺性。JVM?對上層的?Java?源文件是不關(guān)心的,它關(guān)注的只是由源文件生成的類文件(?class file)。類文件的組成包括?JVM?指令集,符號表以及一些補(bǔ)助信息。
java虛擬機(jī)工作的原理,可以自己找一下網(wǎng)上的資料。大家還需要思考的問題,jvm的內(nèi)存、jvm的垃圾回收(GC)、Android的朋友還要區(qū)分(Dalvik 和標(biāo)準(zhǔn) Java 虛擬機(jī)JVM)的區(qū)別。
總結(jié):
java代碼編譯之后,可以直接運(yùn)行在Windows或者其它裝有JVM虛擬機(jī)的系統(tǒng)下。而C或C++直接編譯成與機(jī)器和操作系統(tǒng)相關(guān)的代碼。所以C語言編譯的程序沒有跨平臺性,就算沒有使用到操作系統(tǒng)相關(guān)的API,在不同的系統(tǒng)下也必須重新編譯才能運(yùn)行。
首先你要在你的電腦上安裝jdk。你可以在后面鏈接地址下載適合你自己的版本(),如果這個鏈接過期了,請在這個首先找一找。
在你的電腦上配置java環(huán)境變量,主要是配置path和classpath。你可以百度java環(huán)境變量配置,可以找到很多java環(huán)境變量配置方法。配置完畢,可以在cmd窗口下用java -version來查看是否配置成功。如果顯示出java版本相關(guān)的信息表示配置成功,可以進(jìn)行下一步了。
編譯你的源代碼,cmd窗口下把路徑改變(cd)到你源代碼文件所在的路徑,然后用javac 源文件名編譯,例如javac Hello.java(需要注意的是源文件名需要是你文件public類的類名,如果你的文件有public類的話)。當(dāng)然你也可以不改變(cd)到源文件所在的路徑,你的文件就需要加上絕對路徑就可以了。例如:javac e:\src\Hello.java.
運(yùn)行你編譯好的文件,java Hello(需要注意運(yùn)行的時候沒有后綴.java或者.class),同樣你可以不改變路徑用絕對路徑運(yùn)行,例如:java e:\src\Hello.如果你的代碼中有窗口這樣的類似的圖形化界面,你就需要用javaw來運(yùn)行。
另外,你可以使用eclipse,NetBeans這樣的集成開發(fā)環(huán)境(IDE)來寫代碼,這樣方便很多。
在電腦上安裝第一的開放工具。
一、基礎(chǔ)的開發(fā)就JDK就行了,這個jdk就提供了編譯器,就是常說的java虛擬機(jī),代碼可以通過任何的文本編輯器編輯;
jdk是 Java 語言的軟件開發(fā)工具包,主要用于移動設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。
jdk各個版本的特性
1997 年Servlet技術(shù)的產(chǎn)生以及緊接著JSP的產(chǎn)生,為Java對抗PHP,ASP等等服務(wù)器端語言帶來了籌碼。1998年,Sun發(fā)布了EJB1.0標(biāo)準(zhǔn),至此J2EE平臺的三個核心技術(shù)都已經(jīng)出現(xiàn)。于是,1999年,Sun正式發(fā)布了J2EE的第一個版本。并于1999年底發(fā)布了J2EE1.2,在 2001年發(fā)布了J2EE1.3,2003年發(fā)布了J2EE1.4。
2.J2EE1.3 J2EE1.3的架構(gòu),其中主要包含了Applet容器,Application Client容器,Web容器和EJB容器,并且包含了Web Component,EJB Component,Application Client Component,以JMS,JAAS,JAXP,JDBC,JAF,JavaMail,JTA等等技術(shù)做為基礎(chǔ)。 1.3中引入了幾個值得注意的功能:Java消息服務(wù)(定義了JMS的一組API),J2EE連接器技術(shù)(定義了擴(kuò)展J2EE服務(wù)到非J2EE應(yīng)用程序的標(biāo)準(zhǔn)),XML解析器的一組Java API,Servlet2.3,JSP1.2也都進(jìn)行了性能擴(kuò)展與優(yōu)化,全新的CMP組件模型和MDB(消息Bean)。
3.J2EE1.4 J2EE1.4 大體上的框架和J2EE1.3是一致的,1.4增加了對Web服務(wù)的支持,主要是Web Service,JAX-RPC,SAAJ,JAXR,還對EJB的消息傳遞機(jī)制進(jìn)行了完善(EJB2.1),部署與管理工具的增強(qiáng)(JMX),以及新版本的Servlet2.4和JSP2.0使得Web應(yīng)用更加容易。
4.JAVA EE 5
JAVA EE 5擁有許多值得關(guān)注的特性。其中之一就是新的 Java Standard Tag Library (JSTL) 1.2 規(guī)范。JSTL 1.2 的關(guān)鍵是統(tǒng)一表達(dá)式語言,它允許我們在 JavaServer Faces (JSF) 中結(jié)合使用 JSTL 的最佳特性。
二、專業(yè)的編輯器IDE有eclipse netbean等工具,做java開發(fā)的基本上都是用的以上開發(fā)工具。
1、eclipse
Eclipse 是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。
Eclipse最初是由IBM公司開發(fā)的替代商業(yè)軟件Visual Age for Java的下一代IDE開發(fā)環(huán)境,2001年11月貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse基金會(Eclipse Foundation)管理。2003年,Eclipse 3.0選擇OSGi服務(wù)平臺規(guī)范為運(yùn)行時架構(gòu)。2007年6月,穩(wěn)定版3.3發(fā)布;2008年6月發(fā)布代號為Ganymede的3.4版;2009年6月發(fā)布代號為Galileo的3.5版;2010年6月發(fā)布代號為Helios的3.6版;2011年6月發(fā)布代號為Indigo的3.7版;2012年6月發(fā)布代號為Juno的4.2版;2013年6月發(fā)布代號為Kepler的4.3版;2014年6月發(fā)布代號為Luna的4.4版;2015年6月項目發(fā)布代號為Mars的4.5版。
2、NetBeans
NetBeans 由Sun公司(2009年被甲骨文收購)在2000年創(chuàng)立,它是開放源運(yùn)動以及開發(fā)人員和客戶社區(qū)的家園,旨在構(gòu)建世界級的Java IDE。NetBeans當(dāng)前可以在Solaris、Windows、Linux和Macintosh OS X平臺上進(jìn)行開發(fā),并在SPL(Sun公用許可)范圍內(nèi)使用。
NetBeans包括開源的開發(fā)環(huán)境和應(yīng)用平臺,NetBeans IDE可以使開發(fā)人員利用Java平臺能夠快速創(chuàng)建Web、企業(yè)、桌面以及移動的應(yīng)用程序,NetBeans IDE已經(jīng)支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等開發(fā)語言。NetBeans項目由一個活躍的開發(fā)社區(qū)提供支持, NetBean開發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。
NetBeans是開源軟件開發(fā)集成環(huán)境,是一個開放框架,可擴(kuò)展的開發(fā)平臺,可以用于Java、C/C++,PHP等語言的開發(fā),本身是一個開發(fā)平臺,可以通過擴(kuò)展插件來擴(kuò)展功能。[1]
在 NetBeans Platform 平臺中,應(yīng)用軟體是用一系列的軟體模組(Modular Software Components)建構(gòu)出來。而這些模組是一個jar檔(Java Archive File)它包含了一組Java程式的類別而它們實(shí)作全依據(jù)依 NetBeans 定義了的公開介面以及一系列用來區(qū)分不同模組的定義描述檔(Manifest File)。有賴于模組化帶來的好處,用模組來建構(gòu)的應(yīng)用程式可只要加上新的模組就能進(jìn)一步擴(kuò)充。