




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JAVA語(yǔ)言概述
21.1.1Java語(yǔ)言的發(fā)展1991年由JamesGosling負(fù)責(zé)開(kāi)發(fā)的一個(gè)分佈式代碼系統(tǒng)(Oak),最初是為家用消費(fèi)電子產(chǎn)品(電冰箱、電視機(jī)等)進(jìn)行編程控制。1993年Sun公司將目標(biāo)市場(chǎng)轉(zhuǎn)向Internet。1994年將Oak語(yǔ)言更名為Java。1995年Java被正式發(fā)佈,之後立即引起極大的轟動(dòng)。3Java目前的主要應(yīng)用許多大公司購(gòu)買(mǎi)了Java的許可證。眾多軟體開(kāi)發(fā)商開(kāi)始支持Java軟體產(chǎn)品。面向?qū)ο蟮膽?yīng)用開(kāi)發(fā)。Intranet(企業(yè)內(nèi)部網(wǎng))上的軟體開(kāi)發(fā)。動(dòng)態(tài)畫(huà)面的設(shè)計(jì),包括圖形圖像的調(diào)用。與各類(lèi)資料庫(kù)連接查詢的SQL語(yǔ)句實(shí)現(xiàn)。其他應(yīng)用類(lèi)型的程式。
41.1.2Java語(yǔ)言的特點(diǎn)2-1簡(jiǎn)單性面向?qū)ο蠓謥咽教幚斫研越Y(jié)構(gòu)中立安全性系統(tǒng)精簡(jiǎn),但功能齊備。風(fēng)格類(lèi)似於C++,對(duì)C++程式員而言非常容易掌握。Java摒棄了C++中容易引發(fā)程式錯(cuò)誤的地方,如指針操作和記憶體管理;提供豐富的類(lèi)庫(kù)。
完全是面向?qū)ο蟮?,它不支持?lèi)似C語(yǔ)言那樣的面向過(guò)程的程式設(shè)計(jì)技術(shù)。支持TCP/IP協(xié)議。Java應(yīng)用程式可通過(guò)一個(gè)特定的URL來(lái)打開(kāi)並訪問(wèn)對(duì)象,就像訪問(wèn)本地檔系統(tǒng)那樣簡(jiǎn)單。提供面向?qū)ο蟮漠惓L幚頇C(jī)制,在編譯時(shí)能對(duì)Null指針檢測(cè)、數(shù)組邊界檢測(cè)、異常出口位元組代碼校驗(yàn)等。自動(dòng)垃圾收集來(lái)進(jìn)行記憶體管理。將根源程式編譯成一種結(jié)構(gòu)中立的中間檔格式。只要有Java運(yùn)行系統(tǒng)的機(jī)器都能執(zhí)行這種中間代碼。Java語(yǔ)言提供的安全。編譯器提供的安全。位元組碼校驗(yàn)。類(lèi)裝載。
51.1.2Java語(yǔ)言的特點(diǎn)2-2可移植性解釋性高性能多線程動(dòng)態(tài)Java應(yīng)用程式可以在配備了Java解釋器和運(yùn)行環(huán)境的任何電腦系統(tǒng)上運(yùn)行,而與體系結(jié)構(gòu)無(wú)關(guān)。Java編譯器將java原始檔案生成類(lèi)檔.class,類(lèi)檔可通過(guò)java命令解釋執(zhí)行,將Java位元組碼轉(zhuǎn)換為機(jī)器碼。JIT編譯器??梢蕴岣逬ava代碼的執(zhí)行速度。內(nèi)置多線程功能,使得在一個(gè)程式裏可同時(shí)執(zhí)行多個(gè)小任務(wù)。帶來(lái)的好處是更好的交互性和即時(shí)控制性。允許程式動(dòng)態(tài)地裝入運(yùn)行過(guò)程中所需要的類(lèi),這是C++語(yǔ)言進(jìn)行面向?qū)ο蟪淌皆O(shè)計(jì)所無(wú)法實(shí)現(xiàn)的。61.1.3Java與C++的比較專(zhuān)案JavaC++全局變數(shù)不存在全局變數(shù)存在數(shù)據(jù)類(lèi)型和轉(zhuǎn)換
無(wú)結(jié)構(gòu)、枚舉或者聯(lián)合,轉(zhuǎn)換時(shí)進(jìn)行類(lèi)型相容檢查通過(guò)指針進(jìn)行任意的類(lèi)型轉(zhuǎn)換,帶來(lái)不安全性範(fàn)圍運(yùn)算符
無(wú)作用域範(fàn)圍運(yùn)算符::有數(shù)組對(duì)象,有只讀的length
無(wú)length記憶體管理可創(chuàng)建不屬於基本數(shù)據(jù)類(lèi)型的對(duì)象不能提前聲明不必進(jìn)行提前聲明必須預(yù)處理沒(méi)有預(yù)處理機(jī)制有頭檔importinclude指針無(wú)有g(shù)oto和virtual無(wú)有注釋文檔對(duì)注釋文檔的內(nèi)建支持無(wú)71.1.4Java程式工作機(jī)制4-181、Java虛擬機(jī)4-2實(shí)現(xiàn)平臺(tái)無(wú)關(guān)性的基礎(chǔ)就是Java虛擬機(jī),是以Java位元組碼為指令組的軟CPU。負(fù)責(zé)對(duì)本地*.class檔解釋執(zhí)行。包含類(lèi)加載器、位元組確認(rèn)器、以及JIT即時(shí)編譯器。
類(lèi)加載器:用來(lái)取得從網(wǎng)路或本地的類(lèi)檔。
位元組確認(rèn)器:確認(rèn)類(lèi)檔是否有正確的格式。
JIT:使虛擬機(jī)能提高到編譯式的運(yùn)行效率。
92、位元組碼4-3*.class檔與機(jī)器碼不同,不是真正的CPU可運(yùn)行的指令代碼,故又稱(chēng)偽代碼。通過(guò)JVM以及JRE將其轉(zhuǎn)成本地機(jī)器代碼,達(dá)到一次撰寫(xiě),到處運(yùn)行的效益。(WriteOnce,RunAnywhere)
103、垃圾收集4-4虛擬機(jī)使用兩個(gè)獨(dú)立的堆記憶體,分別用於靜態(tài)記憶體分配和動(dòng)態(tài)記憶體分配。非垃圾收集堆記憶體,用於存儲(chǔ)所有類(lèi)定義、常量池和方法表。另一個(gè)堆記憶體,用於垃圾收集的演算法適用於存放在動(dòng)態(tài)堆記憶體中的對(duì)象。垃圾收集器在收集對(duì)象前調(diào)用finalize方法。顯式調(diào)用垃圾收集(System.gc())方法,不能保證立即運(yùn)行,因?yàn)槠鋬?yōu)先順序很低。111.2.1Java應(yīng)用程式舉例2-1//這是檔案名為“HelloWorld.java”的簡(jiǎn)單應(yīng)用程式importjava.io.*;//引入包c(diǎn)lass
HelloWorld{//定義類(lèi)publicstaticvoidmain(Stringargs[])//main方法{
System.out.println(“歡迎來(lái)到Java世界!”);//輸出數(shù)據(jù)}}
定義類(lèi)的關(guān)鍵字類(lèi)名必須這麼寫(xiě)12保存並運(yùn)行2-2以java為擴(kuò)展名,保存時(shí)注意類(lèi)型。131.2.2Java小應(yīng)用程式舉例2-1/**HelloToJava.java*/importjava.awt.Graphics;importjava.applet.*;publicclassHelloToJava
extendsApplet{publicStringsHello;publicvoidinit(){
sHello="歡迎來(lái)到Java世界!";}
publicvoidpaint(Graphicsg){g.drawString(sHello,50,50);}}文檔注釋?zhuān)梢允褂胘avadoc命令生成HTML幫助檔。裝入系統(tǒng)類(lèi)庫(kù)。14保存並運(yùn)行2-2將上頁(yè)檔保存為HelloToJava.java(必須)。<HTML><APPLETCODE="HelloToJava.class"WIDTH=200HEIGHT=100> </APPLET></HTML>將檔保存為*.htm或*.html檔。首先將HelloToJava.java檔進(jìn)行編譯(javac命令)。
javacHelloToJava.java然後使用appletviewer*.htm
查看效果。151.2.3Java程式結(jié)構(gòu)(1)至多有一個(gè)public類(lèi),檔案名必須與類(lèi)名相同。(2)程式可以有一個(gè)或多個(gè)其他類(lèi)。(3)當(dāng)需要從某個(gè)類(lèi)繼承或使用某個(gè)類(lèi)及其方法時(shí),使用import引入該類(lèi)的定義。(4)Java程式組成結(jié)構(gòu)package //0個(gè)或1個(gè),必須放在檔開(kāi)始
import //0個(gè)或多個(gè),必須放在所有類(lèi)定義之前
publicclassDefinition //0個(gè)或1個(gè),檔案名必須與類(lèi)名相同
classDefinition //0個(gè)或多個(gè)interfaceDefinition //0個(gè)或多個(gè)
161.3開(kāi)發(fā)工具與開(kāi)發(fā)步驟安裝Java2SDK開(kāi)發(fā)工具。設(shè)置環(huán)境變數(shù):
path=javac和java命令所在的目錄。
classpath=存放位元組碼檔的目錄。Java2SDK簡(jiǎn)介及使用。Java程式的集成開(kāi)發(fā)環(huán)境。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 咸魚(yú)售后協(xié)議書(shū)范本
- 總價(jià)下浮20合同協(xié)議
- 商品展示樣品合同協(xié)議
- 微信公眾號(hào)合同解約協(xié)議
- 毛呸房屋租賃合同協(xié)議
- 2025年度糧食委托競(jìng)價(jià)采購(gòu)合同書(shū)
- 售后責(zé)任協(xié)議書(shū)范本
- 2025高??蒲屑夹g(shù)服務(wù)合同
- 員工在病期間協(xié)議合同
- 微信平臺(tái)建設(shè)合同協(xié)議
- 無(wú)菌GMP 操作指南:無(wú)菌醫(yī)療器械生產(chǎn)過(guò)程確認(rèn)
- 增材制造產(chǎn)業(yè)調(diào)研報(bào)告
- 海因環(huán)氧樹(shù)脂的制備及其應(yīng)用
- 羅甸縣從里水庫(kù)管道輸水工程施工方案
- UWI海威清創(chuàng)機(jī)使用說(shuō)明書(shū)
- 《一元一次不等式與一次函數(shù)》第課時(shí)示范教案
- 刮板式花生脫殼機(jī)設(shè)計(jì)
- 腎臟內(nèi)科疾病診療指南
- 一般現(xiàn)在時(shí)和現(xiàn)在進(jìn)行時(shí)練習(xí)題
- 部編版五下語(yǔ)文語(yǔ)文園地8
- 設(shè)備采購(gòu)流程
評(píng)論
0/150
提交評(píng)論