




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章Java語言概述IBMLearning&Development1課程內(nèi)容Java的發(fā)展歷程Java語言的特點Java語言的平臺無關(guān)性Java虛擬機JVM介紹Java運行平臺Java程序開發(fā)JDK21.1Java語言的發(fā)展里程Java語言前身是Oak語言,于1991年推出,但僅限于SunMicrosystems公司內(nèi)部使用。1995年Oak語言改名為“Java”,并正式向公眾推出,主要貢獻(xiàn)者是JamesGosling。1.2版本的Java是Java語言發(fā)展過程中一個關(guān)鍵階段,從此,Sun公司將Java更名為Java2。經(jīng)過十年的發(fā)展,Java語言已經(jīng)發(fā)展到1.6版本。31.2java的特點(1/4)1.語法簡單(1)Java的風(fēng)格類似于C++(2)Java摒棄了C++中容易引發(fā)程序錯誤的地方,如指針和內(nèi)存管理;(3)Java提供了豐富的類庫。2.面向?qū)ο竺嫦驅(qū)ο缶幊淌且环N先進(jìn)的編程思想,更加容易解決復(fù)雜的問題。面向?qū)ο罂梢哉f是Java最重要的特性。Java語言的設(shè)計完全是面向?qū)ο蟮模?1.2java的特點(2/4)3.分布式JAVA從誕生就起就與網(wǎng)絡(luò)聯(lián)系在一起,它強調(diào)網(wǎng)絡(luò)特性,內(nèi)置TCP/IP,HTTP,F(xiàn)TP協(xié)議類庫,便于開發(fā)網(wǎng)上應(yīng)用系統(tǒng)。4.安全性(1)在Java語言里,象指針和釋放內(nèi)存等C++功能被刪除,避免了非法內(nèi)存操作。(2)當(dāng)Java用來創(chuàng)建瀏覽器時,語言功能和一些瀏覽器本身提供的功能結(jié)合起來,使它更安全。Java語言在機器上執(zhí)行前,要經(jīng)過很多次的測試。其三級安全檢驗機制可以有效防止非法代碼侵入,阻止對內(nèi)存的越權(quán)訪問。51.2java的特點(3/4)5.健壯性Java致力于檢查程序在編譯和運行時的錯誤。異常檢查可盡早的發(fā)現(xiàn)可能存在的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。6.解釋運行,高效率Java解釋器(運行系統(tǒng))能直接運行目標(biāo)代碼指令。Java程序經(jīng)編譯器編譯,生成的字節(jié)碼經(jīng)過精心設(shè)計,并進(jìn)行了優(yōu)化,因此運行速度較快,克服了以往解釋性語言運行效率低的缺點。61.2java的特點(4/4)7.與平臺無關(guān)JAVA編譯器將JAVA程序編譯成二進(jìn)制代碼,即字節(jié)碼。字節(jié)碼有統(tǒng)一的格式,不依賴于具體的硬件環(huán)境。8.多線程Java提供的多線程功能使得在一個程序里可同時執(zhí)行多個小任務(wù)。9.動態(tài)性Java的動態(tài)特性是其面向?qū)ο笤O(shè)計方法的發(fā)展。它允許程序動態(tài)地裝入運行過程中所需要的類。71.3平臺無關(guān)性(1/2)平臺無關(guān)類型包括源代碼級和目標(biāo)代碼級兩種類型。C和C++屬于源代碼級平臺無關(guān),意味著用其寫的應(yīng)用程序不用修改只需重新編譯就可以在不同平臺上運行。Java屬于目標(biāo)代碼級平臺無關(guān),主要靠Java虛擬機JVM來實現(xiàn)。對高級語言的翻譯方式有解釋和編譯兩種解釋方式就是一邊翻譯一邊運行而編譯方式則是一次性翻譯好,生成目標(biāo)程序。81.3平臺無關(guān)性(2/2)解決移植性的方法有以下兩種方式:方式1:到一臺機器上將源程序重新編譯成適合該臺機器的機器代碼。方式2:將高級語言源程序編譯成一種與機器無關(guān)的中間代碼(如Java語言的字節(jié)碼),該中間代碼程序不能被操作系統(tǒng)直接執(zhí)行,需要由解釋器來解釋和執(zhí)行。Java語言采用方式2,將由解釋程序擴展了的指令系統(tǒng)的機器稱為Java虛擬機——簡稱JVM。91.4Java虛擬機JVM虛擬機——是一種對計算機物理硬件計算環(huán)境的軟件實現(xiàn)。虛擬機是一種抽象機器,內(nèi)部包含一個解釋器(Interpreter),可以將其它高級語言編譯為虛擬機的解釋器可以執(zhí)行的代碼(稱這種代碼為中間語言IntermediateLanguage),實現(xiàn)高級語言程序的可移植性平臺無關(guān)性(SystemIndependence),無論是運行在嵌入式設(shè)備還是多個處理器的服務(wù)器上,虛擬機都執(zhí)行相同的指令,所使用的支持庫也具有標(biāo)準(zhǔn)的API和完全相同或相似的行為。101.4Java虛擬機JVMJava虛擬機——(JavaVirtualMachine,簡稱JVM)是一種抽象機器,它附著在具體操作系統(tǒng)上,本身具有一套虛擬機器指令,并有自己的棧,寄存器等,運行JAVA程序不可少的機制。編譯后的JAVA程序指令并不直接在硬件系統(tǒng)CPU上執(zhí)行,而是在JVM執(zhí)行。在JVM上有一個Java解釋器用來解釋Java編譯器編譯后的程序。任何一臺機器只要配備了解釋器,就可以運行這個程序,而不管這種字節(jié)碼是在何種平臺上生成的。111.4Java虛擬機JVM圖1-1計算機硬件、操作系統(tǒng)、JVM與各種可執(zhí)行程序之間的關(guān)系機器代碼硬件操作系統(tǒng)JVM本地可執(zhí)行文件(.exe,.com文件)Java字節(jié)碼文件(.class文件)12JVM體系結(jié)構(gòu)圖類裝載器字節(jié)碼解釋器安全管理器垃圾收集器線程管理圖形Java虛擬機操作系統(tǒng)字節(jié)碼*.class文件圖1-2Java虛擬機體系結(jié)構(gòu)示意圖13JVM的作用JVMWindowsAndroid計算機LinuxUnixJAVA程序141.5Java與C/C++之關(guān)系相近之處Java中許多基本語句的語法和C++一樣,像常用的循環(huán)語句、控制語句等和C++幾乎一樣Java和C++是兩種完全不同的語言151.5Java與C/C++之關(guān)系不同之處Java去掉了C++語言的許多功能,Java中沒有#include和#define等預(yù)處理功能,用import語來句包含其它類和包;Java中沒有structure,union及typedef;Java中沒有不屬于類成員的函數(shù),沒有指針和多重繼承,Java只支持單重繼承;Java中禁用goto,但goto還是保留的關(guān)鍵字;Java中沒有操作符重載;Java中沒有全局變量,可以在類中定義公用、靜態(tài)的數(shù)據(jù)成員實現(xiàn)相同功能。……161.6Java運行平臺1.三種平臺簡介J2SE:Java標(biāo)準(zhǔn)版或Java標(biāo)準(zhǔn)平臺。J2SE提供了標(biāo)準(zhǔn)的SDK開發(fā)平臺(以前稱做JDK開發(fā)平臺)。J2EE:Java企業(yè)版或Java企業(yè)平臺。J2ME:Java微型版或Java小型移動平臺。172.安裝J2SE平臺——簡介JDK版本發(fā)布日期版本說明及主要內(nèi)容JDK1.0a21995.05正式對外發(fā)布JDK1.0.21996.01標(biāo)準(zhǔn)的I/O庫、網(wǎng)絡(luò)庫、applet、文件I/O以及基本的窗口庫等JDK1.11997.02內(nèi)部類、新的事件處理模型、RMI、JavaBean,JDBC、串行化、國際化、日歷類以及性能改進(jìn)等JDK121998.12浮點運算改進(jìn)、StringGUI庫、集合、Java2D圖形、可訪問性(可視化GUI支持)、引用對象以及性能改進(jìn)等JDK1.32000.05性能改進(jìn)、CORBA兼容性、Java音頻支持以及JNDI等JDK1.42001.12斷言語句、64位地址空間(Solaris),新的I/O庫、模式匹配、鼠標(biāo)滑輪支持、IPv6,XML,WebStart支持、性能改進(jìn)及命名為Merlin的代碼等JDK1.52003.07通用性(代碼模塊)、允許一些云算符重載以及命名為Tiger的代碼等181.6Java運行平臺3.環(huán)境變量JAVA_HOME為那些需要使用Java命令和JVM的程序提供了通用的路徑信息,其值應(yīng)設(shè)置為JDK的安裝目錄的路徑,
JAVA_HOME=C:\jdk1.5CLASSPATH用于指明字節(jié)碼文件的位置。
CLASSPATH=c:\jdk1.5\jre\lib\rt.jar;.PATH是操作系統(tǒng)使用的變量,用于搜索在Shell中輸入的希望執(zhí)行的命令。191.7Java程序開發(fā)Java編譯器源文件編輯器字節(jié)碼文件由Web瀏覽器執(zhí)行文件名.java產(chǎn)生對于Java小應(yīng)用程序?qū)τ贘ava應(yīng)用程序由Java解釋器執(zhí)行圖1-1Java程序開發(fā)過程示意圖201.7Java程序開發(fā)1.Java應(yīng)用程序的開發(fā)編寫源文件 Editplus等文本編輯器生成Hello.javapublicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println("你好,很高興學(xué)習(xí)Java");}}211.7Java程序開發(fā)1.Java應(yīng)用程序的開發(fā)編譯源文件生成字節(jié)碼javacHello.java編譯前編譯后編譯以后的結(jié)果是:*.class;編譯后的文件名與源文件中類名一樣。每個類生成一個:*.class。221.7Java程序開發(fā)1.Java應(yīng)用程序的開發(fā)加載運行字節(jié)碼javaHello格式:java<類名>說明:使用java命令運行java應(yīng)用程序,程序從起始函數(shù)main開始執(zhí)行。23//Hello.javapublicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println("你好,很高興學(xué)習(xí)Java");}}C:>javacHello.javaC:>javaHello241.7Java程序開發(fā)2.JavaApplet程序的開發(fā)編寫源文件Editplus等文本編輯器Boy.java編譯源文件生成字節(jié)碼javacBoy.java通過瀏覽器加載運行字節(jié)碼Html文件myBoy.html<appletcode=Boy.classheight=100width=300></applet> 或appletviewewmyboy.html25//Boy.javaimportjava.applet.*;importjava.awt.*;publicclassBoyextendsApplet{publicvoidpaint(Graphicsg){g.setColor(Color.blue);g.drawString("Java是一門很優(yōu)秀的語言",12,30);g.setColor(Color.red);g.drawString("我一定認(rèn)真學(xué)習(xí)Java",22,56);}}//myBoy.html<appletcode=Boy.classheight=100width=300></applet>C:>javacBoy.javaC:>appletviewermyboy.html261.8Java開發(fā)工具箱Java開發(fā)工具箱(JDK-JavaDevelopmentKit)是Sun公司為用戶提供的集成和執(zhí)行applets和應(yīng)用程序的工具javac編譯器:可以用任何文字編輯器創(chuàng)建Java程序java翻譯器;用于執(zhí)行編譯過的Java應(yīng)用程序。appletviewer:可運行applets而不必運行Web瀏覽器。javap反匯編程序:從字節(jié)碼文件恢復(fù)java原代碼。javadoc工具:可以為所編寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樁基冬季施工方案
- 農(nóng)業(yè)項目資金籌措方案
- 汽車行業(yè)基礎(chǔ)知識
- 大理石樓地面施工方案
- 紅磚建筑加固施工方案
- 2025年非調(diào)質(zhì)鋼項目發(fā)展計劃
- 山東省濱州市鄒平市2024-2025學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(原卷版+解析版)
- 非機動車棚工程施工方案
- 隨州鋼結(jié)構(gòu)農(nóng)村房施工方案
- 沂源公路標(biāo)志牌施工方案
- 《復(fù)雜系統(tǒng)理論》課件
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- 汽輪機輔機培訓(xùn)
- 國之重器:如何突破關(guān)鍵技術(shù)-筆記
- 早產(chǎn)兒和低出生體重兒袋鼠式護(hù)理臨床實踐指南(2024)解讀1
- 三廢環(huán)保管理培訓(xùn)
- 第四章 特殊條件下的駕駛ppt課件
- 特種設(shè)備變更登記申請表
- 鉆孔樁施工橫道圖
- (最新)金鑰匙科技競賽試題及答案
- 《檢驗檢測機構(gòu)資質(zhì)認(rèn)定評審準(zhǔn)則》及釋義
評論
0/150
提交評論