版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第1章Java開發(fā)環(huán)境和程序設(shè)計初步Java語言發(fā)展歷史Java語言的特點Java的工作原理Java運行環(huán)境JDK構(gòu)建Java程序課程內(nèi)容二三四五一開發(fā)工具M(jìn)yEclipse9.0六
一、Java語言發(fā)展歷史Java語言產(chǎn)生于C++語言之后,是完全的面向?qū)ο蟮木幊陶Z言,充分吸取了C++語言的優(yōu)點,采用程序員所熟悉的C和C++語言的許多語法,同時又去掉了C語言中指針、內(nèi)存申請和釋放等影響程序健壯性的部分,可以說Java語言是站在C++語言這個“巨人的肩膀上”前進(jìn)的語言。
一、Java語言發(fā)展歷史1991年4月,美國SunMicrosystems公司的一組人員開始了一個代號為“Green”的工程,Green工程的目標(biāo)就是開發(fā)出一個適用于家用電器的控制系統(tǒng)。項目組成員很快意識到,在家用電器中使用的處理器沒有統(tǒng)一的標(biāo)準(zhǔn),消費電子產(chǎn)品種類繁多,包括PDA、機(jī)頂盒、手機(jī)等等。
一、Java語言發(fā)展歷史即使是同一類消費電子產(chǎn)品所采用的處理芯片和操作系統(tǒng)也不相同,也存在著跨平臺的問題。為了簡化開發(fā)工作,他們需要一個與平臺無關(guān)的開發(fā)環(huán)境。于是java應(yīng)運而生。
一、Java語言發(fā)展歷史我們知道,專門為某種計算機(jī)硬件和操作系統(tǒng)編寫的程序是不能夠直接放到另外的計算機(jī)硬件上執(zhí)行的,至少要做移植工作。在Internet大潮之下,要想讓程序能夠在不同的計算機(jī)上能夠運行,就要求程序設(shè)計語言是能夠跨越各種軟件和硬件平臺的,而Java滿足了這一需求。
一、Java語言發(fā)展歷史有人預(yù)言:Java將是網(wǎng)絡(luò)上的“世界語”,今后所有的用其他語言編寫的軟件統(tǒng)統(tǒng)都要用Java語言來改寫。這是因為傳統(tǒng)的軟件往往都是與具體的實現(xiàn)環(huán)境有關(guān),換了一個環(huán)境就需要作一番改動,耗時費力,而Java語言能在執(zhí)行碼(二進(jìn)制碼)上兼容,這樣以前所開發(fā)的軟件就能運行在不同的機(jī)器上,只要所用的機(jī)器能提供Java語言解釋器即可。
一、Java語言發(fā)展歷史即使是同一類消費電子產(chǎn)品所采用的處理芯片和操作系統(tǒng)也不相同,也存在著跨平臺的問題。為了簡化開發(fā)工作,他們需要一個與平臺無關(guān)的開發(fā)環(huán)境。于是java應(yīng)運而生。
一、Java語言發(fā)展歷史Java語言將對未來軟件的開發(fā)產(chǎn)生影響,可從如下幾個方面考慮:1.軟件的需求分析:可將用戶的需求進(jìn)行動態(tài)的、可視化描述,以提供給設(shè)計者更加直觀的要求。而用戶的需求是各色各樣的,不受地區(qū)、行業(yè)、部門、愛好的影響,都可以用Java語言描述清楚。
一、Java語言發(fā)展歷史2.軟件的開發(fā)方法:由于Java語言的面向?qū)ο螅酝耆梢杂肙OP的技術(shù)與方法來開發(fā),這是符合最新的軟件開發(fā)規(guī)范要求的。3.Java語言的動畫效果遠(yuǎn)比GUI技術(shù)更加逼真,尤其是利用WWW提供的巨大動畫資源空間,可以共享全世界的動態(tài)畫面的資源。
一、Java語言發(fā)展歷史4.軟件最終產(chǎn)品:用Java語言開發(fā)的軟件可以具有可視化、可聽化、可操作化的效果,這要比電視、電影的效果更為理想,因為它可以做到“即時、交互、動畫與動作”,要它停就停,要它繼續(xù)就繼續(xù),而這是在電影與電視播放過程中難以做到的。5.其它:使用Java語言對開發(fā)效益、開發(fā)價值都有比較明顯的影響。
二、Java語言的特點1.簡單并面向?qū)ο?Java的簡單性首先體現(xiàn)在精簡的系統(tǒng)上,力圖用最小的系統(tǒng)實現(xiàn)足夠多的功能;對硬件的要求不高,在小型的計算機(jī)上也可以良好的運行。和所有的新一代的程序設(shè)計語言一樣,Java也采用了面向?qū)ο蠹夹g(shù),所有的application程序和applet程序均是對象,封裝性實現(xiàn)了模塊化和信息隱藏,繼承性實現(xiàn)了代碼的復(fù)用,用戶可以建立自己的類庫。
二、Java語言的特點2.魯棒并安全 Java語言在編譯及運行程序時,都要進(jìn)行嚴(yán)格的檢查,防止不匹配問題的發(fā)生。如果引用一個非法類型、或執(zhí)行一個非法類型操作,Java將在解釋時指出該錯誤。
二、Java語言的特點3.結(jié)構(gòu)中立并可以移植
網(wǎng)絡(luò)上充滿了各種不同類型的機(jī)器和操作系統(tǒng),為使Java程序能在網(wǎng)絡(luò)的任何地方運行,Java編譯器編譯生成了與體系結(jié)構(gòu)無關(guān)的字節(jié)碼文件。任何種類的計算機(jī),只要在其處理器和操作系統(tǒng)上有Java運行時環(huán)境,字節(jié)碼文件就可以在該計算機(jī)上運行。
二、Java語言的特點4.高性能
雖然Java是解釋執(zhí)行的,但它仍然具有非常高的性能,在一些特定的CPU上,Java字節(jié)碼可以快速的轉(zhuǎn)換成為機(jī)器碼進(jìn)行執(zhí)行。
二、Java語言的特點5.解釋執(zhí)行、多線程并且是動態(tài)的
為易于實現(xiàn)跨平臺性,Java設(shè)計成為解釋執(zhí)行,字節(jié)碼本身包含了許多編譯時生成的信息,使連接過程更加簡單。而多線程使應(yīng)用程序可以同時進(jìn)行不同的操作,處理不同的事件。
三、Java的工作原理Java虛擬機(jī)
軟件模擬的計算機(jī),可以在任何處理器上(無論是在計算機(jī)中還是在其它電子設(shè)備中)安全并且兼容的執(zhí)行保存在.class文件中的字節(jié)碼。Java虛擬機(jī)的“機(jī)器碼”保存在.class文件中,有時也可以稱之為字節(jié)碼文件。Java程序的跨平臺主要是指字節(jié)碼文件可以在任何具有Java虛擬機(jī)的計算機(jī)或者電子設(shè)備上運行
三、Java的工作原理Java虛擬機(jī)的建立需要針對不同的軟硬件平臺做專門的實現(xiàn),既要考慮處理器的型號,也要考慮操作系統(tǒng)的種類。如圖1-1所示,目前在SPARC結(jié)構(gòu)、X86結(jié)構(gòu)、MIPS和PPC等嵌入式處理芯片上、在UNIX、Linux、windows和部分實時操作系統(tǒng)上都有Java虛擬機(jī)的實現(xiàn)。
三、Java的工作原理
三、Java的工作原理內(nèi)存自動回收機(jī)制
在Java運行環(huán)境中,始終存在著一個系統(tǒng)級的線程,專門跟蹤內(nèi)存的使用情況,定期檢測出不再使用的內(nèi)存,并進(jìn)行自動回收,避免了內(nèi)存的泄露,也減輕了程序員的工作量。
三、Java的工作原理代碼安全性檢查機(jī)制
字節(jié)碼的執(zhí)行需要經(jīng)過三個步驟,首先由類裝載器(classloader)負(fù)責(zé)把類文件(.class文件)加載到Java虛擬機(jī)中,在此過程需要檢驗該類文件是否符合類文件規(guī)范;其次字節(jié)碼校驗器(bytecodeverifier)檢查該類文件的代碼中是否存在著某些非法操作
三、Java的工作原理如果字節(jié)碼校驗器檢驗通過,由Java解釋器負(fù)責(zé)把該類文件解釋成為機(jī)器碼進(jìn)行執(zhí)行。Java虛擬機(jī)采用的是“沙箱”運行模式,即把Java程序的代碼和數(shù)據(jù)都限制在一定內(nèi)存空間里執(zhí)行,不允許程序訪問該內(nèi)存空間外的內(nèi)存,如果是applet程序,還不允許訪問客戶端機(jī)器的文件系統(tǒng)。
四、Java運行環(huán)境JDKJava平臺 Java不僅是編程語言,還是一個開發(fā)平臺,Java技術(shù)給程序員提供了許多工具:編譯器、解釋器、文檔生成器和文件打包工具等等。同時Java還是一個程序發(fā)布平臺,有兩種主要的“發(fā)布環(huán)境”。
四、Java運行環(huán)境JDK首先Java運行時環(huán)境(JavaRuntimeEnvironment,簡稱JRE)包含了完整的類文件包,其次許多主要的瀏覽器都提供了Java解釋器和運行時環(huán)境。
四、Java運行環(huán)境JDKSun公司把Java平臺劃分成J2EE、J2SE、J2ME三個平臺,針對不同的市場目標(biāo)和設(shè)備進(jìn)行定位。J2EE是Java2EnterpriseEdition,主要目的是為企業(yè)計算提供一個應(yīng)用服務(wù)器的運行和開發(fā)平臺。
四、Java運行環(huán)境JDKJ2SE是Java2StandardEdition,主要目的是為臺式機(jī)和工作站提供一個開發(fā)和運行的平臺。J2ME是Java2MicroEdition,主要是面向消費電子產(chǎn)品,為消費
電子產(chǎn)品提供一個Java的運行平臺,使得Java程序能夠在手機(jī)、機(jī)頂盒、PDA等產(chǎn)品上運行。
應(yīng)為“消費類”
四、Java運行環(huán)境JDKJava平臺關(guān)系
四、Java運行環(huán)境JDKJava是解釋型高級編程語言,開發(fā)Java程序流程通常是:編寫源程序編譯源程序運行程序
四、Java運行環(huán)境JDK在編寫程序前,需要一些基本的開發(fā)工具的支持。Sun公司為所有的Java程序員提供了一套免費的Java開發(fā)和運行環(huán)境,取名為Java2SDK,可以從上進(jìn)行下載。安裝的時候可以選擇安裝到任意的硬盤驅(qū)動器上,完成安裝后就可以開始編寫程序了。
五、構(gòu)建Java程序Java程序分成兩大類:Java應(yīng)用程序(Application)
應(yīng)用程序又分為控制臺程序(ConsoleApplicationProgram)和窗口程序(WindowApplicationProgram)。
五、構(gòu)建Java程序 JavaConsoleApplication在命令窗口(即Dos窗口)中運行,是字符用戶介面(CUI)程序,在本地機(jī)器上運行,有main()方法,它是執(zhí)行Java程序的入口。JavaWindowsApplication是圖形用戶界面,在本地機(jī)器上運行,如WindowsXP下的應(yīng)用程序,有main()方法,作為程序的入口。
五、構(gòu)建Java程序Java小應(yīng)用程序(Applet)
放在網(wǎng)絡(luò)的服務(wù)器上,嵌入到WWW頁面中,作為頁面組成部分被下載,運行在瀏覽器中(IE、NetscapeNavigator)。使用圖形用戶介面GUI,不能存取本地文件,沒有main()方法。
五、構(gòu)建Java程序第一個應(yīng)用程序HelloWorld
HelloWorld是一經(jīng)典的程序,基本上是所有編程語言都首先接觸的一個程序,我們用這個程序作為本書編程的開始。
五、構(gòu)建Java程序/**TheHelloWorldclassimplementsanapplicationthatsimplydisplays”HelloWorld!”tothestandardoutput.**///HelloWorld.JavaimportJava.io.*;publicclassHelloWorld{ publicstaticvoidmain(Stringargs[]){ System.out.println(“HelloWorld!”); }}
五、構(gòu)建Java程序Javaapplication程序的編輯 Java程序的編輯可以使用任何一種文本編輯器,例如UltraEdit、Notepad、Wordpad甚至word,然后只要把編輯好的文件存成純文本的.Java文件。當(dāng)然也可以用一些集成開發(fā)環(huán)境,例如Borland公司的JBuilder,IBM公司的VisualageforJava,此外還有cafe、kawa等其它集成開發(fā)環(huán)境。
五、構(gòu)建Java程序Javaapplication程序的編譯 Sun公司為全世界的Java程序員提供了一個免費的Java程序開發(fā)包(JavaDevelopKit,簡稱JDK),其中包括了Java編譯器命令"Javac.exe",以及Java執(zhí)行命令"Java.exe",還有幫助文檔生成器命令"Javadoc.exe"等等。
五、構(gòu)建Java程序在命令行中輸入:
Javac
HelloWorld.Java命令編譯,生成HelloWorld.class類文件。
五、構(gòu)建Java程序JavaApplication的執(zhí)行
當(dāng)編譯結(jié)束以后,在"命令提示符"下輸入:JavaHelloWorld
進(jìn)行執(zhí)行,該"Java"命令會啟動Java虛擬機(jī),并讀入HelloWorld.class文件進(jìn)行執(zhí)行。
五、構(gòu)建Java程序第一個Javaapplet程序HelloWorldApplet
將上面介紹的Application(Windows和DosConsole)程序改寫為Applet(小應(yīng)用程序)。源程序代碼://HelloWorldApplet.JavaimportJava.applet.*;importJava.awt.*;publicclassHelloWorldAppletextendsApplet{ publicvoidpaint(Graphicsg){ g.drawString(“HelloWorld!”,10,50); }}
五、構(gòu)建Java程序(1)JavaApplet程序的編輯 Applet程序與Application程序編輯方法相同,源代碼輸入后保存成HelloWorldApplet.Java文件即可。(2)JavaApplet程序的編譯 Javaapplet程序也是一個類,Applet程序與Application程序編譯方法相同,用Javac將Java源文件編譯成.class類文件。
五、構(gòu)建Java程序(3)JavaApplet程序的執(zhí)行 Applet程序的運行方式與Application程序不同,applet沒有main()方法,它必須嵌入在超文本文件中,在瀏覽器中進(jìn)行運行。
五、構(gòu)建Java程序嵌入Applet程序的.html文件如下:<HTML><TITLE>HelloWorldApplet</TITL
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 污水課程設(shè)計紫外消毒
- 數(shù)字電路ic課程設(shè)計
- 教育培訓(xùn)行業(yè)教學(xué)方法培訓(xùn)體驗
- 電子課程設(shè)計網(wǎng)課答案
- 稅務(wù)工作總結(jié)制度建設(shè)與規(guī)范化監(jiān)督
- 急救護(hù)理工作總結(jié)
- 貸款經(jīng)理工作總結(jié)
- 電信通訊科技行業(yè)技術(shù)分析
- 旅游行業(yè)促銷活動總結(jié)
- 酒店用品銷售工作總結(jié)
- 單招鐵路基礎(chǔ)知識題庫單選題100道及答案解析
- 高低壓供配電設(shè)備檢查和檢修保養(yǎng)合同3篇
- 投資可行性分析財務(wù)數(shù)據(jù)全套表格
- 2023-2024學(xué)年福建省廈門市八年級(上)期末物理試卷
- 易查云全球智能貿(mào)易信息查詢平臺商業(yè)計劃書
- 招標(biāo)文件的保密措施
- 2024小米在線測評題
- GA/T 804-2024機(jī)動車號牌專用固封裝置
- 公務(wù)車輛定點洗車協(xié)議書2024年
- 學(xué)校空調(diào)維修合同模板
- 2015年下半年教師資格考試-小學(xué)《教育教學(xué)知識與能力》真題及答案解析
評論
0/150
提交評論