Java編程知識(shí)概述_第1頁(yè)
Java編程知識(shí)概述_第2頁(yè)
Java編程知識(shí)概述_第3頁(yè)
Java編程知識(shí)概述_第4頁(yè)
Java編程知識(shí)概述_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java概述內(nèi)容Java發(fā)展簡(jiǎn)史Java技術(shù)體系架構(gòu)JRE的安裝編寫(xiě)一個(gè)Java應(yīng)用程序新手常見(jiàn)錯(cuò)誤Java概述Java的出生地:SUNMicrosystemsInc.SUN:StanfordUniversityNetworkJava之父:JamesGoslingJava發(fā)展簡(jiǎn)史1991年出現(xiàn)1995年發(fā)布最新推出Java2Platform,StandardEditionThecurrentreleaseisJavaPlatform,StandardEdition6(JavaSE6).ThepreviousreleasewasJava2Platform,StandardEdition5.0(J2SE5.0).(/javase/namechange.html,2009.3.6)什么是Java語(yǔ)言Java是接受最快、并且普及最快的語(yǔ)言Java是一種程序設(shè)計(jì)平臺(tái),既是開(kāi)發(fā)環(huán)境,又是應(yīng)用環(huán)境代表一種新的計(jì)算模式Java語(yǔ)言的特點(diǎn)語(yǔ)法簡(jiǎn)單,功能強(qiáng)大分布性與安全性與平臺(tái)無(wú)關(guān)解釋運(yùn)行,高效率多線程動(dòng)態(tài)執(zhí)行豐富的API文檔和類庫(kù)Java語(yǔ)言的目標(biāo)創(chuàng)建一種面向?qū)ο蟮恼Z(yǔ)言提供一種解釋環(huán)境去掉影響代碼健壯性的功能為程序運(yùn)行多線程提供方法允許程序下載代碼模塊檢查下載的代碼模塊,提供保證安全的手段Java虛擬機(jī)、Java獨(dú)特的垃圾收集機(jī)制及三級(jí)代碼安全檢查機(jī)制,是實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵。Java的三層架構(gòu)早期是以主機(jī)架構(gòu)為主集中處理,集中管理,各用戶分享使用計(jì)算機(jī)資源。PC機(jī)計(jì)算模式本地處理,本地管理,各用戶獨(dú)占系統(tǒng)資源,不共享,管理維護(hù)費(fèi)用超出Java計(jì)算模式結(jié)合了上述兩種模式的優(yōu)勢(shì)客戶—服務(wù)器架構(gòu),系統(tǒng)管理員不必在客戶端做任何維護(hù)工作。Java技術(shù)體系架構(gòu)Java應(yīng)用程序運(yùn)行機(jī)制計(jì)算機(jī)的高級(jí)編程語(yǔ)言類型編譯型解釋型Java語(yǔ)言是兩種類型的結(jié)合Java源程序、字節(jié)碼文件,機(jī)器碼指令JVM(JavaVirtualMachine)在一臺(tái)計(jì)算機(jī)上由軟件或硬件模擬的計(jì)算機(jī)。Java虛擬機(jī)(JVM)讀取并處理經(jīng)編譯過(guò)的平臺(tái)無(wú)關(guān)的字節(jié)碼class文件。Java編譯器針對(duì)Java虛擬機(jī)產(chǎn)生class文件,因此是獨(dú)立于平臺(tái)的。Java解釋器負(fù)責(zé)將Java虛擬機(jī)的代碼在特定的平臺(tái)上運(yùn)行。JVM的具體實(shí)現(xiàn)指令集寄存器組類文件格式棧垃圾收集堆內(nèi)存區(qū)JVM的代碼格式壓縮的字節(jié)碼,效率較高保持原來(lái)的類型規(guī)定JVM主要的類型檢查是在編譯時(shí)由字節(jié)碼校驗(yàn)器完成的Java的任何解釋器必須能執(zhí)行符合JVM定義的類文件格式的任何類文件。Java編譯和執(zhí)行過(guò)程Java運(yùn)行時(shí)系統(tǒng)JVM的實(shí)現(xiàn)叫做Java運(yùn)行時(shí)系統(tǒng)Java運(yùn)行時(shí)必須遵從Java虛擬機(jī)規(guī)范Java虛擬機(jī)規(guī)范對(duì)運(yùn)行時(shí)數(shù)據(jù)區(qū)域的劃分及字節(jié)碼的優(yōu)化不做嚴(yán)格的限制,它們的實(shí)現(xiàn)依平臺(tái)的不同而不同。嵌入了JVM運(yùn)行時(shí)系統(tǒng)的應(yīng)用程序可以執(zhí)行Java程序Java運(yùn)行時(shí)環(huán)境(JRE)Java運(yùn)行環(huán)境的三項(xiàng)主要功能:加載代碼:由classloader完成;校驗(yàn)代碼:由bytecodeverifier完成;執(zhí)行代碼:由runtimeinterpreter完成。JVM虛擬機(jī)的性能解釋執(zhí)行的運(yùn)行效率較低,但能保持平臺(tái)無(wú)關(guān)性解決方法優(yōu)化Java解釋器采用JIT編譯器Sun公司的Hotspot技術(shù)提供對(duì)代碼的運(yùn)行時(shí)選擇,根據(jù)每個(gè)字節(jié)碼指令進(jìn)行的執(zhí)行次數(shù),動(dòng)態(tài)決定它的執(zhí)行方式。Java的垃圾回收機(jī)制(GC)不再使用的內(nèi)存空間應(yīng)回收----垃圾收集。在C/C++等語(yǔ)言中,由程序員負(fù)責(zé)回收無(wú)用內(nèi)存。Java語(yǔ)言解除了程序員回收無(wú)用內(nèi)存空間的責(zé)任。它提供一種系統(tǒng)級(jí)線程跟蹤存儲(chǔ)空間的分配情況。并在JVM的空閑時(shí),檢查并釋放那些可被釋放的存儲(chǔ)器空間。垃圾收集在Java程序運(yùn)行過(guò)程中自動(dòng)進(jìn)行,程序員無(wú)法精確控制和干預(yù)。三級(jí)代碼安全檢查驗(yàn)證在類下載時(shí)完成的,檢查從哪里下載文件,是否有權(quán)限進(jìn)到本機(jī)系統(tǒng)。分析字節(jié)碼校驗(yàn),此時(shí)要分析下載的字節(jié)碼是否合乎規(guī)則。跟蹤監(jiān)測(cè)安全管理器始終監(jiān)測(cè)所執(zhí)行的每步操作,檢查其合法性。類下載器Java運(yùn)行時(shí)系統(tǒng)區(qū)別對(duì)待來(lái)自不同源的類文件。本地文件系統(tǒng),Internet,防止起破壞作用的應(yīng)用程序的侵襲。內(nèi)存分配所有的類下載完畢后確定可執(zhí)行文件的內(nèi)存分配,并創(chuàng)建查詢表。內(nèi)存分配是在運(yùn)行時(shí)進(jìn)行,Java解釋器阻止訪問(wèn)可能給操作系統(tǒng)帶來(lái)破壞的非法代碼地址,增加了保護(hù)性。字節(jié)碼校驗(yàn)器通過(guò)字節(jié)碼校驗(yàn)器檢查Java代碼的安全性檢測(cè)代碼段的格式,使用規(guī)則來(lái)檢查非法代碼段--偽造的指針、對(duì)目標(biāo)的訪問(wèn)權(quán)限違例或是試圖改變目標(biāo)類型或類的代碼。通過(guò)網(wǎng)絡(luò)傳送的所有類文件都要經(jīng)過(guò)字節(jié)碼校驗(yàn)器的檢驗(yàn)。字節(jié)碼校驗(yàn)器要對(duì)程序中的代碼進(jìn)行四趟掃描。類遵從JVM的類文件格式。不出現(xiàn)訪問(wèn)違例情況。代碼不會(huì)引起運(yùn)算棧溢出。所有運(yùn)算代碼的參數(shù)類型總是正確的。不會(huì)發(fā)生非法數(shù)據(jù)轉(zhuǎn)換,如把整數(shù)轉(zhuǎn)換為指針。對(duì)象域訪問(wèn)是合法的。JRE的安裝配置Java開(kāi)發(fā)工具集JDK----JavaDevelopmentKitsJava編譯器Java運(yùn)行時(shí)解釋器Java應(yīng)用程序編程接口Java文檔化化工具其它工具及資源環(huán)境變量Path----用于指定操作系統(tǒng)的可執(zhí)行指令的路徑CLASSPATH----用于指定Java的類文件存放路徑。CLASSPATH的設(shè)置開(kāi)發(fā)一個(gè)Java應(yīng)用程序開(kāi)發(fā)Java應(yīng)用的基本步驟:編寫(xiě)源代碼,生成.java文件。編輯Java文件,用文本編輯工具即可;編譯源代碼,生成.class文件;

javacHelloWorld.java或java*.java運(yùn)行該程序

javaHelloWorld開(kāi)發(fā)Java應(yīng)用—編寫(xiě)程序publicclassHelloWorld{ //Java應(yīng)用程序入口方法 publicstaticvoidmain(Stringargs[]) { //向控制臺(tái)打印一條信息 System.out.println("HelloWorld!"); } }開(kāi)發(fā)Java應(yīng)用—編譯程序?qū)⑸鲜龀绦騼?nèi)容保存為一個(gè)擴(kuò)展名為.java的文件,文件命名為HelloWorld.java。進(jìn)入到j(luò)ava源文件保存的目錄,通過(guò)下列指令來(lái)編譯這個(gè)java文件:javacHelloWorld.java開(kāi)發(fā)Java應(yīng)用—運(yùn)行文件在.java文件編譯生成的.class文件所在的路徑下,執(zhí)行如下命令:javaHelloWorld,然后回車開(kāi)發(fā)Java應(yīng)用要點(diǎn)一個(gè)源文件中至多只能有一個(gè)public的class聲明源文件名必須和它中定義的public的類名相同main方法是Java應(yīng)用程序的入口方法新手常見(jiàn)錯(cuò)誤編譯時(shí):HelloWorld.java:1:classhelloworldispublic,shouldbedeclaredinafilenamedhelloworld.javapublicclasshelloworld^1error運(yùn)行時(shí):Exceptioninthread"main"java.lang.NoSuchMethodError:main運(yùn)行時(shí):E

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論