Java教程(一):Java語言概述

A. Java的發展

Java早期的歷史

1. 1991年,Sun Microsystems公司建立"the Green Project"(Secretly),13個成員,目的開發消費電子類產品市場(嵌入式設備),初始選擇C++語言

2. 1992年夏天,*7設備,運行在一種全新的、對立於處理器的語言"Oak",潛在的市場有線電視

3. Green TeamFirstPerson Team(70人),電視機頂盒/video-on-demand,市場不成熟 ? ? ?

4. James Gosling, Bill Joy, and Eric Schmidt … "why not the Internet?"

5. 在Mosaic瀏覽器的基礎上開發"WebRunner","Hollywood-meets-Silicon-Valley"的兩個演示(3D動態分子、線排序)

Java面世

1995年3月,"1.0a" 7/8份二進制拷貝,"1.0a2"源代碼公佈在Internet

下載數量和反饋郵件劇增

On May 23, 1995, John Gage, director of the Science Office for Sun Microsystems, and Marc Andreessen, cofounder and executive vice president at NetscapeTM, stepped onto a stage and announced to the SunWorld audience that JavaTM technology was real, it was official, and it was going to be incorporated into Netscape NavigatorTM, the world's portal to the Internet.

B. 什麼是Java?

Java Technology

a. 編程語言(Programming Language)

b. 運行平臺(Platform)

Java編程語言的特點

1. 簡單(Simple)

簡單易學

不存在指針、單一繼承、內存空間自動回收

2. 面向對象(Object oriented)

類和對象數據和方法的封裝

封裝、繼承、多態性

注重於數據和操作數據的方法,而不是流

3. 解釋性(Interpreted)

Java編譯器生成字節碼,Java解釋器執行字節碼

鏈接過程簡單,僅僅將新的類裝載(load)入運行環境

4. Java編程語言的特點

Java教程(一):Java語言概述

5. 魯棒/健壯(Robust)和安全(Secure)

取消了指針的不安全性,增強了程序的健壯性

內存管理簡單,"new"構造對象,對象釋放(automatic garbage collection)

可靠的語言: compile-time checking和run-time checking

網絡環境的應用不會產生惡意行為,為Java程序構造一個個(Sandbox,具有安全策略的限制),提高了安全性

6. 多線程(Multithreaded)

例: 瀏覽器應用中,播聽音樂/拖動頁面/後臺下載頁面

線程類: java.lang.Thread/Runnable/ThreadGroup等

原語支持: synchronized、wait()、notify()

7. 分佈式(Distributed)

支持網絡應用, java.net.*

1. URL類

2. Socket類、ServerSocket類

3. DatagramSocket類、DatagramPacket類

8. 高性能(High performance)

解釋性的語言,沒有C語言快

"Just-In-Time" JIT編譯器,在運行時將Java字節碼轉變為機器碼

Java HotSpot Compilers

9. 動態(Dynamic)

Java語言在執行的鏈接(link)階段是動態的

class類僅在需要時被鏈接

被鏈接的代碼模塊可以有不同的來源,從本地或從網絡

10. 平臺(Platform)

程序運行的硬件和軟件環境

操作系統平臺-Windows 2000、Linux、Solaris、MacOS

操作系統與硬件的結合

11. Java運行平臺(Platform)

Java虛擬機(Java Virtual Machine, Java VM)

1. Java解釋器-Java開發工具或可運行applet的Web瀏覽器

Java應用編程接口(Java Application Programming Interface, Java API)

12. Java運行平臺(Platform)

J2SE Platform (Java 2 Standard Edition)

1. Java Runtime Environment (JRE) -Java虛擬機、庫函數、運行Java應用程序和Applet所必須文件

2. Java 2 SDK (Development Kit)-JRE的超集,包含編譯器和調試器等用於程序開發的文件

Java虛擬機、Java應用編程接口和系統平臺的關係

Java教程(一):Java語言概述

C. Java平臺的發展

a. Java Development Kit

i. 1.0.2

ii. 1.1.1 1.1.6 1.1.7 1.1.8

iii. 1.2.1

b. Java 2 SDK

i. 1.2.2

ii. 1.3.0 1.3.1

iii. 1.4.0 1.4.1 1.4.21.5.0

c. Java平臺的三個版本(1999.6): J2SE/J2EE/J2ME

d.

D. Java可以做什麼?

a. 基本: Objects, strings, threads, numbers, input and output, data structures, system properties, date and time等

b. Applets應用

c. 網絡應用: 實現基於URL/TCP/UDP的網絡應用

d. 國際化應用: 實現程序的本地化,並以適當的語言顯示

e. 安全應用: 電子簽名、公鑰和私鑰管理、訪問控制和用戶證書等

f. 軟件構件: JavaBeans

g. 對象串行化: 實現遠程方法執行(Remote Method Invocation,RMI)

h. Java數據庫連接(Java Database Connectivity, JDBC): 提供統一的方式訪問關係型數據庫

E. 為什麼選擇Java?

1. 簡單易學 (Get started quickly)

2. 寫較少的代碼 (Write less code)

3. 寫更好的代碼 (Write better code): garbage collection (防止內存洩漏),面向對象、JavaBeans構件機制、其他API複用代碼,減少bugs

4. 開發程序更快 (Develop programs more quickly)

5. 避免平臺依賴性 (Avoid platform dependencies with 100% Pure Java)

6. 編寫一次,隨處運行 (Write once, run anywhere) machine-independent bytecodes

7. 發佈軟件更容易 (Distribute software more easily): 指對軟件的更新,利用動態加載功能,一處改動,自動更新,不用重新編譯整個程序


分享到:


相關文章: