java程序設(shè)計(jì)基礎(chǔ)第1章_第1頁
java程序設(shè)計(jì)基礎(chǔ)第1章_第2頁
java程序設(shè)計(jì)基礎(chǔ)第1章_第3頁
java程序設(shè)計(jì)基礎(chǔ)第1章_第4頁
java程序設(shè)計(jì)基礎(chǔ)第1章_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

新世紀(jì)計(jì)算機(jī)基礎(chǔ)教育叢書主編譚浩強(qiáng)Java程序設(shè)計(jì)1精選2021版課件第1章概述

2精選2021版課件什么是Java語言

在計(jì)算機(jī)語言史上,Java是接受最快、并且普及最快的語言。

Java是一種程序設(shè)計(jì)平臺(tái),既是開發(fā)環(huán)境,又是應(yīng)用環(huán)境。它代表一種新的計(jì)算模式。Java是簡(jiǎn)單的、面向?qū)ο蟮恼Z言,并具有分布性、安全性和健壯性。

3精選2021版課件什么是Java語言Java程序被解釋執(zhí)行,但又不失高性能。Java是多線程的、動(dòng)態(tài)的語言,最主要的是它與平臺(tái)無關(guān),解決了困擾軟件界多年的軟件移植問題。

4精選2021版課件Java語言的基本概念Java語言=面向?qū)ο蟮某绦蛟O(shè)計(jì)語言+與機(jī)器無關(guān)的二進(jìn)制格式的類文件+Java虛擬機(jī)(用來執(zhí)行類文件)+完整的軟件程序包(跨平臺(tái)的API和庫(kù))5精選2021版課件Java語言的特點(diǎn)

語法簡(jiǎn)單,功能強(qiáng)大分布式與安全性與平臺(tái)無關(guān)解釋運(yùn)行,高效率

多線程動(dòng)態(tài)執(zhí)行豐富的API文檔和類庫(kù)6精選2021版課件Java的三層架構(gòu)

Java可用于客戶-服務(wù)器架構(gòu),將公共使用的程序放到服務(wù)器上,用戶使用時(shí)從服務(wù)器上下載到客戶端,各用戶獨(dú)立使用設(shè)備和程序。當(dāng)程序更新時(shí),只需在服務(wù)器上進(jìn)行。之后,客戶再使用時(shí),下載的就是更新后的版本,系統(tǒng)管理員不必在客戶端做任何維護(hù)工作。7精選2021版課件Java語言的目標(biāo)

開發(fā)Java語言的主要目的是:創(chuàng)建一種面向?qū)ο蟮恼Z言。提供一種解釋環(huán)境,縮短了系統(tǒng)開發(fā)的編譯—連接—裝載—測(cè)試周期,提高開發(fā)速度。去掉了影響代碼健壯性的功能。8精選2021版課件Java語言的目標(biāo)為程序運(yùn)行多線程提供了方法。允許程序下載代碼模塊。檢查下載的代碼模塊。9精選2021版課件Java虛擬機(jī)Java虛擬機(jī)(Javavirtualmachine,JVM)是運(yùn)行Java程序必不可少的機(jī)制。JVM是編譯后的Java程序和硬件系統(tǒng)之間的接口,程序員可以把JVM看作一個(gè)虛擬的處理器。它不僅解釋執(zhí)行編譯后的Java指令,而且還進(jìn)行安全檢查。它是Java程序能在多平臺(tái)間進(jìn)行無縫移植的可靠保證,同時(shí)也是Java程序的安全檢驗(yàn)引擎。10精選2021版課件Java虛擬機(jī)Java虛擬機(jī)規(guī)范中給出了JVM的定義:JVM是在一臺(tái)真正的機(jī)器上用軟件方式實(shí)現(xiàn)的一臺(tái)假想機(jī)。11精選2021版課件Java虛擬機(jī)Java虛擬機(jī)規(guī)范提供了編譯所有Java代碼的硬件平臺(tái)。JVM不但可以用軟件實(shí)現(xiàn),而且可以用硬件實(shí)現(xiàn)。12精選2021版課件Java虛擬機(jī)JVM的具體實(shí)現(xiàn)包括:指令集(等價(jià)于CPU的指令集)寄存器組類文件格式棧垃圾收集堆內(nèi)存區(qū)13精選2021版課件Java虛擬機(jī)JVM的代碼格式為壓縮的字節(jié)碼,因而效率較高。JVM的實(shí)現(xiàn)叫做Java運(yùn)行時(shí)系統(tǒng),簡(jiǎn)稱為運(yùn)行時(shí)。14精選2021版課件

Java虛擬機(jī)的性能Java在問世之初,因其沒有完全優(yōu)化,并且是解釋執(zhí)行,因此Java程序的運(yùn)行效率較低。

Java解釋器經(jīng)過不斷的優(yōu)化,字節(jié)碼的執(zhí)行速度已有很大提高。

15精選2021版課件Java虛擬機(jī)的性能在字節(jié)碼執(zhí)行之前可以先經(jīng)過JIT編譯器(justintimecompiler)進(jìn)行編譯,生成針對(duì)具體平臺(tái)的本機(jī)執(zhí)行代碼。

Hotspot技術(shù)是一種在字節(jié)碼指令執(zhí)行之前動(dòng)態(tài)決定它的執(zhí)行方式的技術(shù),這一技術(shù)是為了從根本上解決Java程序的效率問題而推出的。16精選2021版課件垃圾收集

在Java中,程序員不必親自釋放內(nèi)存,它提供了后臺(tái)系統(tǒng)級(jí)線程,記錄每次內(nèi)存分配的情況,并統(tǒng)計(jì)每個(gè)內(nèi)存指針的引用次數(shù)。17精選2021版課件垃圾收集在Java虛擬機(jī)運(yùn)行時(shí)環(huán)境閑置時(shí),垃圾收集線程將檢查是否存在引用次數(shù)為0的內(nèi)存指針;如果有的話,則垃圾收集線程把該內(nèi)存“標(biāo)記”為“清除”(釋放)。18精選2021版課件代碼安全

Java源程序Java編譯器Java字節(jié)碼類下載器字節(jié)碼校驗(yàn)器解釋器運(yùn)行時(shí)硬件代碼生成器網(wǎng)絡(luò)編譯時(shí)運(yùn)行時(shí)19精選2021版課件代碼安全JavaApplet是從其他機(jī)器上下載到本機(jī)執(zhí)行的,在Applet運(yùn)行之前,系統(tǒng)要對(duì)之進(jìn)行嚴(yán)格的三級(jí)代碼安全檢查,即驗(yàn)證、分析和跟蹤監(jiān)測(cè)。20精選2021版課件代碼安全1.Java解釋器Java解釋器只能執(zhí)行為JVM編譯的代碼。Java解釋器有三項(xiàng)主要工作:

(1)下載代碼由類下載器完成。

(2)校驗(yàn)代碼由字節(jié)碼校驗(yàn)器完成。

(3)運(yùn)行代碼由運(yùn)行時(shí)解釋器完成。21精選2021版課件代碼安全2.類下載器當(dāng)Java運(yùn)行時(shí)系統(tǒng)從Internet網(wǎng)上下載類文件時(shí),它使用類下載器來下載。類下載器把本地文件系統(tǒng)的類名空間和網(wǎng)絡(luò)源輸入的類名空間區(qū)分開來,以增加安全性。22精選2021版課件代碼安全3.字節(jié)碼校驗(yàn)器程序通過字節(jié)碼校驗(yàn)器檢查代碼的安全性。校驗(yàn)器主要檢查以下幾項(xiàng)內(nèi)容:

(1)類遵從JVM的類文件格式。

(2)不出現(xiàn)訪問違例情況。23精選2021版課件代碼安全

(3)代碼不會(huì)引起運(yùn)算棧溢出。

(4)所有運(yùn)算代碼的參數(shù)類型總是正確的。

(5)不會(huì)發(fā)生非法數(shù)據(jù)轉(zhuǎn)換。

(6)對(duì)象域訪問是合法的。24精選2021版課件一個(gè)基本的Java應(yīng)用程序

////簡(jiǎn)單的應(yīng)用程序HelloWorld//publicclassHelloWorldApp{publicstaticvoidmain(Stringargs[]){System.out.println(″HelloWorld!″);}}25精選2021版課件常見錯(cuò)誤

編譯時(shí)錯(cuò)誤1.錯(cuò)誤提示內(nèi)容:javac:Commandnotfound解釋:包含javac編譯器的路徑變量設(shè)置不正確。26精選2021版課件常見錯(cuò)誤2.錯(cuò)誤提示內(nèi)容:HelloWorldApp.java:3:Methodprintl(java.lang.String)notfoundinclassjava.io.PrintStream.System.out.printl(“HelloWorld!”);解釋:鍵入的方法名printl不正確,方法println()的名字被寫成printl。編譯時(shí)錯(cuò)誤27精選2021版課件常見錯(cuò)誤編譯時(shí)錯(cuò)誤3.錯(cuò)誤提示內(nèi)容:HelloWorldApp.java:1:PublicclassHelloWorldappmustbedefinedinafilecalled“HelloWorldapp.java”.publicclassHelloWorldapp{解釋:文件HelloWorldApp.java中定義的公有類HelloWorldapp的名字和文件名不匹配。28精選2021版課件常見錯(cuò)誤運(yùn)行時(shí)錯(cuò)誤

1.錯(cuò)誤提示內(nèi)容:Can’tfindclassHelloWorldApp解釋:(當(dāng)鍵入javaHelloWorldApp時(shí)發(fā)生該錯(cuò)誤。) 系統(tǒng)找不到名為HelloWorldApp的類文件。29精選2021版課件常見錯(cuò)誤運(yùn)行時(shí)錯(cuò)誤2.錯(cuò)誤提示內(nèi)容:InclassHelloWorldApp:mainmustbepublicandstatic解釋:如果main()方法的左側(cè)缺少static或public,會(huì)發(fā)生這個(gè)錯(cuò)誤。

30精選2021版課件常見錯(cuò)誤運(yùn)行時(shí)錯(cuò)誤3.文件中含有的類個(gè)數(shù)錯(cuò)誤解釋:按照J(rèn)ava規(guī)則,在一個(gè)源文件中最多只能定義一個(gè)公有類,否則會(huì)發(fā)生運(yùn)行時(shí)錯(cuò)誤。如果一個(gè)應(yīng)用系統(tǒng)中有多個(gè)公有類,則要把它們分別放在各自不同的文件中。文件中非公有類的個(gè)數(shù)不限。31精選2021版課件常見錯(cuò)誤4.層次錯(cuò)誤解釋:一個(gè).java源文件可以含有三個(gè)“頂層”元素,這三個(gè)元素是:一個(gè)包說明,即package語句,包說明是可選的。任意多個(gè)引入語句,即import語句。類和接口說明。運(yùn)行時(shí)錯(cuò)誤32精選2021版課件使用Java核心API文檔Java核心API文檔頁面如下圖:

33精選2021版課件使用Java核心API文檔在各種Java的API中,程序員使用最多的是Java核心AP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論