十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本文介紹如何用cmd編譯java程序。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),伽師企業(yè)網(wǎng)站建設(shè),伽師品牌網(wǎng)站建設(shè),網(wǎng)站定制,伽師網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,伽師網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
材料/工具
記事本
方法
1、首先,在記事本上編寫java代碼。并將后綴名.txt改為.java 。(本文以HelloWorld為例。)如圖
2、按住window鍵和R--輸入cmd
3、在出現(xiàn)的窗體中,輸入java源碼所在的路徑(我的源碼是在D盤下的)
4、然后開始執(zhí)行編譯: javac java源文件名.java? (javac HelloWorld.java)(javac后面有一個(gè)空格)
5、編譯之后,我們可以在java源文件所在位置看到編譯后出現(xiàn)的.class文件
6、執(zhí)行編譯后的程序:java java源文件名(javac后面有一個(gè)空格)
這樣就編譯并執(zhí)行完成了。
Java應(yīng)用程序的開發(fā)周期包括編譯、下載、解釋和執(zhí)行幾個(gè)部分。Java編譯程序?qū)?Java源程序翻譯為JVM可執(zhí)行代碼--字節(jié)碼。Java將符號(hào)引用信息保留在字節(jié)碼中,由解釋器在運(yùn)行過程中創(chuàng)立內(nèi)存布局,然后再通過查 表來確定一個(gè)方法所在的地址。這樣就有效的保證了Java的可移植性和安全性。
運(yùn)行JVM字節(jié)碼的工作是由解釋器( java命令 )來完成的。解釋執(zhí)行過程分三部進(jìn)行:代碼的裝入、代碼的校驗(yàn)和代碼的執(zhí)行。裝入代碼的工作由"類裝載器"(class loader)完成。類裝載器負(fù)責(zé)裝入運(yùn)行一個(gè)程序需要的所有代碼,這也包括程序代碼中的類所繼承的類和被其調(diào)用的類。當(dāng)類裝載器裝入一個(gè)類時(shí),該類被放 在自己的名字空間中。除了通過符號(hào)引用自己名字空間以外的類,類之間沒有其他辦法可以影響其他類。在本臺(tái)計(jì)算機(jī)上的所有類都在同一地址空間內(nèi),而所有從外 部引進(jìn)的類,都有一個(gè)自己獨(dú)立的名字空間。這使得本地類通過共享相同的名字空間獲得較高的運(yùn)行效率,同時(shí)又保證它們與從外部引進(jìn)的類不會(huì)相互影響。當(dāng)裝入 了運(yùn)行程序需要的所有類后,解釋器便可確定整個(gè)可執(zhí)行程序的內(nèi)存布局。解釋器為符號(hào)引用同特定的地址空間建立對應(yīng)關(guān)系及查詢表。通過在這一階段確定代碼的 內(nèi)存布局,Java很好地解決了由超類改變而使子類崩潰的問題,同時(shí)也防止了代碼對地址的非法訪問。
這里給你一個(gè)具體的場景來講述如何使用命令行編譯和運(yùn)行Java代碼:
任務(wù)
我們有一個(gè)相當(dāng)標(biāo)準(zhǔn)的Java工程,它包含三個(gè)頂層文件夾:
/bin-用來存放已編譯好的.class文件
/lib-用來存放第三方.jar文件
/src-存放.java源代碼
我的任務(wù)就是要從Java工程根目錄去編譯和運(yùn)行工程。我們將使用Windows操作系統(tǒng)作為例子(和在Unix系統(tǒng)上的唯一區(qū)別就是路徑分隔符是”:“而不是”;“)。
編譯Java代碼
第一步是把文本文件.java源代碼編譯成Java虛擬機(jī)字節(jié)碼文件(.class)。這一步使用一個(gè)叫javac的JDK工具來完成。
假設(shè)我們在應(yīng)用的根目錄下,從com.example包下嘗試把Application.java文件,以及把lib文件夾中的lib1.jar和lib2.jar庫編譯到目標(biāo)文件夾bin下,編譯命令應(yīng)該是如下格式:
javac -d bin -sourcepath src -cp lib/lib1.jar;lib/lib2.jar src/com/example/Application.java1
編譯完后,/bin/com/example/Application.class應(yīng)該就會(huì)創(chuàng)建出來了。如何Application.java使用了其他工程的類,那么他們?nèi)繒?huì)自動(dòng)被編譯并且放到相應(yīng)的文件夾下。
運(yùn)行Java代碼
為了啟動(dòng)我們剛剛編譯的.class文件,需要另外一個(gè)叫java的JDK工具。
假設(shè)我們在應(yīng)用的根目錄下,為了能夠啟動(dòng)com.example包中的,使用了lib文件夾下的lib1.jar和lib2.jar庫的Application.class文件,啟動(dòng)命令應(yīng)該是如下
java -cp bin;lib/lib1.jar;lib/lib2.jar com.example.Application
我們在這里沒有提供文件名,只有一個(gè)實(shí)際的類名,java會(huì)基于提供的classpath(縮寫成cp)路徑去搜索。
剛開始做開發(fā)的時(shí)候可能夠了,但是往后你做的項(xiàng)目會(huì)比較大的,這樣的配置就不夠的,因?yàn)榇蟮捻?xiàng)目需要安裝軟件和插件比較多,這樣的話電腦就會(huì)變得運(yùn)行速度很慢,做開發(fā)也會(huì)不太好,建議是最好買一個(gè)好一點(diǎn)的