Java系統(tǒng)環(huán)境概述課件_第1頁
Java系統(tǒng)環(huán)境概述課件_第2頁
Java系統(tǒng)環(huán)境概述課件_第3頁
Java系統(tǒng)環(huán)境概述課件_第4頁
Java系統(tǒng)環(huán)境概述課件_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Java系統(tǒng)環(huán)境概述發(fā)展歷程、運(yùn)行環(huán)境及步驟第1頁,共30頁。1.1 編程語言的發(fā)展客觀事物(問題域)計(jì)算機(jī)(硬件)語言的鴻溝自然語言面向?qū)ο蟮恼Z言非OO的高級語言匯編語言 機(jī)器語言 語言的發(fā)展使鴻溝變窄第2頁,共30頁。1.1.1 結(jié)構(gòu)化語言以1971年推出的PASCAL為典型代表進(jìn)一步縮小編程語言和自然語言的距離在結(jié)構(gòu)化程序設(shè)計(jì)中,把程序概括為如下的公式:程序=數(shù)據(jù)結(jié)構(gòu)+算法第3頁,共30頁。1.1.2 面向?qū)ο蟮恼Z言(OOP)出發(fā)點(diǎn)是為了能更直接地描述問題域中客觀存在的事物(即對象)以及它們之間的關(guān)系追求的是軟件系統(tǒng)對現(xiàn)實(shí)世界的直接模擬程序描述為如下的公式:程序=對象+消息第4頁,共30

2、頁。1.1.3 OOP的特征把事物抽象成對象,用一組數(shù)據(jù)描述該對象的靜態(tài)特征,用一組方法來刻畫該對象的動態(tài)特征用類來表示一組具有相同屬性和方法的對象用父類與子類的概念來描述描述共性與特性用封裝把對象的屬性和方法結(jié)合為一個整體,并且屏蔽了對象的內(nèi)部細(xì)節(jié)。通過消息連接來表示對象之間的這種動態(tài)聯(lián)系。第5頁,共30頁。1.1.4 面向?qū)ο笳Z言的發(fā)展1967年挪威計(jì)算中心開發(fā)的Simula 6720世紀(jì)70年代出現(xiàn)的CLU、并發(fā)Pasca1、Ada和Modula-2等1980年提出的Smalltalk-80是第一個完善的、能夠?qū)嶋H應(yīng)用的面向?qū)ο笳Z言20世紀(jì)80年代中期到90年代,是面向?qū)ο笳Z言走向繁榮的

3、階段C+,Java第6頁,共30頁。1.2 Java網(wǎng)絡(luò)時(shí)代的編程語言Java是一種具有“簡單、面向?qū)ο蟮?、分布式、解釋型、健壯、安全、與體系結(jié)構(gòu)無關(guān)、可移植、高性能、多線程和動態(tài)執(zhí)行”等特性的語言。第7頁,共30頁。1.2.1 Java的特點(diǎn)-簡單性Java語言簡單而高效,基本Java系統(tǒng)所占空間不到250 KB。Java具有類似于C+的風(fēng)格,保留了C+語言的優(yōu)點(diǎn);擯棄了C+中不安全且容易引發(fā)程序錯誤的指針;簡化了內(nèi)存管理和文件管理第8頁,共30頁。1.2.2 Java的特點(diǎn)-面向?qū)ο驤ava語言是純面向?qū)ο蟮牟幌馛+那樣既支持面向?qū)ο蟮募夹g(shù),又支持面向過程的程序設(shè)計(jì)技術(shù)。第9頁,共30頁。

4、1.2.3 Java的特點(diǎn)-可移植性可移植性指的是程序不經(jīng)修改而在不同硬件或軟件平臺上運(yùn)行的特性源代碼級可移植性和二進(jìn)制代碼級可移植性C和C+只具有一定程度的源代碼級可移植性Java不僅源代碼級是可移植的,甚至源代碼經(jīng)過編譯之后形成的字節(jié)碼,也同樣是可移植的。第10頁,共30頁。源代碼目標(biāo)碼(.obj文件)可執(zhí)行代碼(.exe文件)操作系統(tǒng)源代碼(.java文件)字節(jié)碼(.class文件)Java解釋器編譯編譯連接 運(yùn)行 解釋執(zhí)行 Java語言與傳統(tǒng)語言的不同運(yùn)行機(jī)制傳統(tǒng)語言程序的運(yùn)行機(jī)制;Java語言程序的運(yùn)行機(jī)制第11頁,共30頁。1.2.4 Java的特點(diǎn)-穩(wěn)定安全摒棄了指針數(shù)據(jù)類型提供

5、了數(shù)組下標(biāo)越界檢查機(jī)制提供了自動內(nèi)存管理機(jī)制其他安全保障機(jī)制字節(jié)碼校驗(yàn)器運(yùn)行時(shí)內(nèi)存布局和類裝載器文件訪問限制第12頁,共30頁。1.2.5 Java的特點(diǎn)-高性能高效的字節(jié)碼多線程及時(shí)編譯和嵌入C代碼第13頁,共30頁。1.2.6 Java的特點(diǎn)-動態(tài)特性Java采用“滯后聯(lián)編”機(jī)制避免類庫局部升級帶來整體軟件無法使用。Java可以在分布式環(huán)境中動態(tài)地維護(hù)應(yīng)用程序及其支持類庫之間的一致性。對于Java而言,其支持類庫升級之后,相應(yīng)的應(yīng)用程序不必重新編譯,也一樣可以利用升級后類庫的新增功能。第14頁,共30頁。1.2.7 Java的特點(diǎn)-分布式Java支持WWW客戶機(jī)/服務(wù)器計(jì)算模式Java網(wǎng)絡(luò)

6、類庫是支持TCPIP協(xié)議的子例程庫,目前支持的協(xié)議有HTTP和FTP等。第15頁,共30頁。1.3 Java的開發(fā)運(yùn)行環(huán)境一般可以采用Sun公司的Java 2 SDK有Solaris SPARC/x86、Linux x86、Microsoft Windows等版本,它們的建立過程略有不同。第16頁,共30頁。Java工具集Java 2 SDK 開發(fā)工具集工具名稱說 明JavacJava編譯器,用于將Java源程序編譯成字節(jié)碼JavaJava解釋器,用于解釋執(zhí)行Java字節(jié)碼appletviewer小應(yīng)用程序?yàn)g覽器,用于測試和運(yùn)行Java applet程序JavadocJava文檔生成器Java

7、pJava類文件反匯編器JdbJava調(diào)試器JavahC文件生成器,利用此命令可實(shí)現(xiàn)在Java類中調(diào)用C+代碼第17頁,共30頁。1.4 Java程序的運(yùn)行步驟用Java語言編寫的Java源程序,經(jīng)Java編譯器編譯后形成字節(jié)碼,這些字節(jié)碼由Java運(yùn)行系統(tǒng)負(fù)責(zé)解釋和執(zhí)行。解釋和執(zhí)行的過程可分為三步字節(jié)碼的裝入字節(jié)碼校驗(yàn)字節(jié)碼的翻譯和執(zhí)行第18頁,共30頁。Java語言程序的編譯、解釋和執(zhí)行過程源程序(.java文件)字節(jié)碼(.class文件)類裝載器字節(jié)碼校驗(yàn)器代碼生成器解釋器即時(shí)運(yùn)行部件硬件第19頁,共30頁。1.4.1 Java程序的建立及運(yùn)行利用某一種文本編輯器建立Java源程序文件利

8、用Java編譯器(Javac)編譯該程序,產(chǎn)生.class字節(jié)碼文件利用解釋器(java)解釋字節(jié)碼文件,完成該程序的運(yùn)行過程第20頁,共30頁。Java程序示例-源代碼【程序示例Demo1.java】public class Demo1 public static void main(String args ) System.out.println(“Hello World!); 輸入編輯完成后,保存文件并退回到DOS提示符狀態(tài)。第21頁,共30頁。Java程序示例-編譯利用Java編譯器Javac對源文件進(jìn)行編譯。在DOS提示符后,鍵入如下命令: javac Demo1.java按Ente

9、r鍵后,開始編譯該文件。若源文件無錯誤,則產(chǎn)生Demo1.class字節(jié)碼文件;若源文件中有錯誤,則編譯器將指出錯誤位置,此時(shí)需返回上一步對源文件進(jìn)行修改第22頁,共30頁。Java程序示例-運(yùn)行編譯無誤的Java字節(jié)碼文件,由Java解釋器(Java)負(fù)責(zé)裝入和執(zhí)行??稍贒OS提示符后輸入如下命令來運(yùn)行該程序: java Demo1運(yùn)行后在屏幕上輸出: Hello World!第23頁,共30頁。Java程序示例-分析public class Demo1這一行表示聲明此程序要建立一個新類,類名為Demo1任何Java程序都必須以類的形式出現(xiàn),一個程序中可以定義若干個類,但只能定義一個publ

10、ic類。用main定義了一個主方法,當(dāng)程序執(zhí)行時(shí),解釋器會找主方法,它是程序的入口點(diǎn)。 static表明這個方法可以通過類名直接調(diào)用System是Java類庫中的一個類,利用此類可以獲得Java運(yùn)行環(huán)境的有關(guān)信息和輸入輸出信息等;out是System類中的一個對象;println( )是out對象的一個方法第24頁,共30頁。1.4.2 Java AppletJava程序可以分為兩種,除前面的一種外,另一個稱為小應(yīng)用程序(Applet)這類程序是嵌入到HTML文本中通過網(wǎng)絡(luò)傳輸并在Web瀏覽器中執(zhí)行。利用文本編輯器建立Java源程序文件利用Java 編譯器(Javac)編譯該Java Appl

11、et,產(chǎn)生.class字節(jié)碼文件建立一個HTML文件,在其中嵌入Java字節(jié)碼文件用WWW瀏覽器或appletviewer裝入該HTML文件,使Applet運(yùn)行。第25頁,共30頁。Java程序示例-源代碼import java.applet.Applet;import java.awtpublic class Demo2 extends Appletpublic void paint(Graphics page)page.drawRect(50,50,40,40);page.drawRect(60,80,225,30);page.drawOval(75,65,20,20);page.draw

12、Line(35,60,100,120);page.drawString(“This is our first drawing”,110,70);第26頁,共30頁。Java程序示例-編譯、嵌入編譯 編譯Applet與編譯Java程序相同。對于本例,可輸入如下命令: javac Demo2.java建立一個HTML文件 在EDIT中建立名為Demo2.html的HTML文件,并輸入下面兩行語句:第27頁,共30頁。Java程序示例-運(yùn)行在Windows 9x的MS-DOS方式下,輸入如下命令: appletviewer c1_2.html按Enter鍵后,彈出Applet瀏覽器窗口第28頁,共30頁。1.4.3 Java虛擬機(jī)由Java源程序編譯生成的字節(jié)碼須在一個稱為Java虛擬機(jī)的平臺上運(yùn)行。JVM是可以運(yùn)行Java

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論