JAVA語言概述課件_第1頁
JAVA語言概述課件_第2頁
JAVA語言概述課件_第3頁
JAVA語言概述課件_第4頁
JAVA語言概述課件_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

JAVA語言概述

21.1.1Java語言的發(fā)展1991年由JamesGosling負責開發(fā)的一個分佈式代碼系統(tǒng)(Oak),最初是為家用消費電子產(chǎn)品(電冰箱、電視機等)進行編程控制。1993年Sun公司將目標市場轉(zhuǎn)向Internet。1994年將Oak語言更名為Java。1995年Java被正式發(fā)佈,之後立即引起極大的轟動。3Java目前的主要應用許多大公司購買了Java的許可證。眾多軟體開發(fā)商開始支持Java軟體產(chǎn)品。面向?qū)ο蟮膽瞄_發(fā)。Intranet(企業(yè)內(nèi)部網(wǎng))上的軟體開發(fā)。動態(tài)畫面的設(shè)計,包括圖形圖像的調(diào)用。與各類資料庫連接查詢的SQL語句實現(xiàn)。其他應用類型的程式。

41.1.2Java語言的特點2-1簡單性面向?qū)ο蠓謥咽教幚斫研越Y(jié)構(gòu)中立安全性系統(tǒng)精簡,但功能齊備。風格類似於C++,對C++程式員而言非常容易掌握。Java摒棄了C++中容易引發(fā)程式錯誤的地方,如指針操作和記憶體管理;提供豐富的類庫。

完全是面向?qū)ο蟮?,它不支持類似C語言那樣的面向過程的程式設(shè)計技術(shù)。支持TCP/IP協(xié)議。Java應用程式可通過一個特定的URL來打開並訪問對象,就像訪問本地檔系統(tǒng)那樣簡單。提供面向?qū)ο蟮漠惓L幚頇C制,在編譯時能對Null指針檢測、數(shù)組邊界檢測、異常出口位元組代碼校驗等。自動垃圾收集來進行記憶體管理。將根源程式編譯成一種結(jié)構(gòu)中立的中間檔格式。只要有Java運行系統(tǒng)的機器都能執(zhí)行這種中間代碼。Java語言提供的安全。編譯器提供的安全。位元組碼校驗。類裝載。

51.1.2Java語言的特點2-2可移植性解釋性高性能多線程動態(tài)Java應用程式可以在配備了Java解釋器和運行環(huán)境的任何電腦系統(tǒng)上運行,而與體系結(jié)構(gòu)無關(guān)。Java編譯器將java原始檔案生成類檔.class,類檔可通過java命令解釋執(zhí)行,將Java位元組碼轉(zhuǎn)換為機器碼。JIT編譯器??梢蕴岣逬ava代碼的執(zhí)行速度。內(nèi)置多線程功能,使得在一個程式裏可同時執(zhí)行多個小任務(wù)。帶來的好處是更好的交互性和即時控制性。允許程式動態(tài)地裝入運行過程中所需要的類,這是C++語言進行面向?qū)ο蟪淌皆O(shè)計所無法實現(xiàn)的。61.1.3Java與C++的比較專案JavaC++全局變數(shù)不存在全局變數(shù)存在數(shù)據(jù)類型和轉(zhuǎn)換

無結(jié)構(gòu)、枚舉或者聯(lián)合,轉(zhuǎn)換時進行類型相容檢查通過指針進行任意的類型轉(zhuǎn)換,帶來不安全性範圍運算符

無作用域範圍運算符::有數(shù)組對象,有只讀的length

無length記憶體管理可創(chuàng)建不屬於基本數(shù)據(jù)類型的對象不能提前聲明不必進行提前聲明必須預處理沒有預處理機制有頭檔importinclude指針無有g(shù)oto和virtual無有注釋文檔對注釋文檔的內(nèi)建支持無71.1.4Java程式工作機制4-181、Java虛擬機4-2實現(xiàn)平臺無關(guān)性的基礎(chǔ)就是Java虛擬機,是以Java位元組碼為指令組的軟CPU。負責對本地*.class檔解釋執(zhí)行。包含類加載器、位元組確認器、以及JIT即時編譯器。

類加載器:用來取得從網(wǎng)路或本地的類檔。

位元組確認器:確認類檔是否有正確的格式。

JIT:使虛擬機能提高到編譯式的運行效率。

92、位元組碼4-3*.class檔與機器碼不同,不是真正的CPU可運行的指令代碼,故又稱偽代碼。通過JVM以及JRE將其轉(zhuǎn)成本地機器代碼,達到一次撰寫,到處運行的效益。(WriteOnce,RunAnywhere)

103、垃圾收集4-4虛擬機使用兩個獨立的堆記憶體,分別用於靜態(tài)記憶體分配和動態(tài)記憶體分配。非垃圾收集堆記憶體,用於存儲所有類定義、常量池和方法表。另一個堆記憶體,用於垃圾收集的演算法適用於存放在動態(tài)堆記憶體中的對象。垃圾收集器在收集對象前調(diào)用finalize方法。顯式調(diào)用垃圾收集(System.gc())方法,不能保證立即運行,因為其優(yōu)先順序很低。111.2.1Java應用程式舉例2-1//這是檔案名為“HelloWorld.java”的簡單應用程式importjava.io.*;//引入包class

HelloWorld{//定義類publicstaticvoidmain(Stringargs[])//main方法{

System.out.println(“歡迎來到Java世界!”);//輸出數(shù)據(jù)}}

定義類的關(guān)鍵字類名必須這麼寫12保存並運行2-2以java為擴展名,保存時注意類型。131.2.2Java小應用程式舉例2-1/**HelloToJava.java*/importjava.awt.Graphics;importjava.applet.*;publicclassHelloToJava

extendsApplet{publicStringsHello;publicvoidinit(){

sHello="歡迎來到Java世界!";}

publicvoidpaint(Graphicsg){g.drawString(sHello,50,50);}}文檔注釋,可以使用javadoc命令生成HTML幫助檔。裝入系統(tǒng)類庫。14保存並運行2-2將上頁檔保存為HelloToJava.java(必須)。<HTML><APPLETCODE="HelloToJava.class"WIDTH=200HEIGHT=100> </APPLET></HTML>將檔保存為*.htm或*.html檔。首先將HelloToJava.java檔進行編譯(javac命令)。

javacHelloToJava.java然後使用appletviewer*.htm

查看效果。151.2.3Java程式結(jié)構(gòu)(1)至多有一個public類,檔案名必須與類名相同。(2)程式可以有一個或多個其他類。(3)當需要從某個類繼承或使用某個類及其方法時,使用import引入該類的定義。(4)Java程式組成結(jié)構(gòu)package //0個或1個,必須放在檔開始

import //0個或多個,必須放在所有類定義之前

publicclassDefinition //0個或1個,檔案名必須與類名相同

classDefinition //0個或多個interfaceDefinition //0個或多個

161.3開發(fā)工具與開發(fā)步驟安裝Java2SDK開發(fā)工具。設(shè)置環(huán)境變數(shù):

path=javac和java命令所在的目錄。

classpath=存放位元組碼檔的目錄。Java2SDK簡介及使用。Java程式的集成開發(fā)環(huán)境。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論