成大電腦網路服務課程 報告者: 陳明輝

Download Report

Transcript 成大電腦網路服務課程 報告者: 陳明輝

成大電腦網路服務課程
報告者: 陳明輝
§§I.
成大計算機與網路中心
§§II. E-mail:[email protected]
§§III
Tel : 886-6-2757575 ext. 61034
成大電腦網路服務課程
JAVA 簡介之大綱
§§I.
§§II.
§§III
§§IV
§§V.
JAVA 之由來與比較
JAVA 語言之特色
JAVA 架構與其體系
JAVA 實作之準備
JAVA 相關技術之發展
Course Objectives
1. To help IT AP to know
What Domain Applications can Be Developed
2. To Assist IT SP to Guide
What Architecture can Be Directed
3. To Support IT OP to View
What Devices can Be Designed
4. To Motivate IT User to See
What Benefits Will get from IT in Their Life
PS.1. IT(Information Technology)
is composed of
computer,
communication
and consumer-electronics.
PS.2. AP, SP and OP
is made up of
the scope of
Computer-work traditionally.
§ § I. Java 之 由 來 與 比 較
$
•
•
•
•
•
•
•
Java
語 言 定 義 :
一. 由 C++ 語言參考發展出
二. 以網路為中心並可在不同系統平台執行
三. 先編譯成與系統機器無關之位元碼
(Bytecode)
四. 再在支援JAVA Virtual Machine之各系
統平台上解譯(Interpret)並執行
五. 美Sun Microsystem發展之Internet語言
$ 抽象化資料型別
語言 資 料 型 別
變 數
C
int, float,
x, y
stru
語言 抽象化資料型別 物 件
C++, (類別)屬性
電子雞()
成大人()
Visual
xxx
運算函式庫
+, -, *, /, %
方法類別庫
輸出入,
計算總平均,
Insert,Delete
Update,Query
$ 網路主要需求表
•網路種類
網際網 企業網 商業網
•
Internet Intranet Extranet
•網路主要需求
•跨平台
V
V
•CGI豐富化
V
V
•安全性
V
V
•效率性
V
•簡易性
V
V
•
=> Java Makes It !!
$程式語言的演進:抽象化程度
A. 第一代語言:
(1)、語言典範:FORTRAN1(FORmula
TRANslator 1)為代表
(2)、運作觀念:直接輸入,不必再從硬體的
觀點去考慮問題。
(3)、抽象程度:數學運算的抽象化
B. 第二代語言:
(1)、語言典範:FORTRAN Ⅱ, Algol60 ,
COBOL, LISP。
(2)、運作觀念:開始有程式區塊及副程式
的觀念。
(3)、抽象觀念:演算法則的抽象化。
C. 第三代語言:
(1)、語言典範:包括了PL/1, Pascal,
Simula, C, Prolog等語言。
(2)、運作觀念:集中放在同一個記錄
(Record)或結構(Structure)中。
(3)、抽象觀念:資料結構的抽象化。
D. 第四代語言:
(1)、語言典範:如SQL, INFORMIX 4GL,
CASE等等。
(2)、運作觀念:接近自然語言(即口語化),
只要列出需要哪些功能,系統就會自動
運算並產生結果,甚至可以用選單及表
格做輸入。
(3)、抽象觀念:程式設計的抽象化。
E. 新一代語言:
(1)、語言典範:有Ada, Modula, Smalltalk,
Object Pascal, C++等。
(2)、運作觀念:運用自行定義資料型別的
觀念,發揮封裝、繼承、多面性之特性,
模組重用、功能擴充、程式修改及維護
上所面臨的各項難題。
(3)、抽象觀念:物件操作的抽象化。
$ 與其他語言之比較
[C++的前身-C語言]
一、算符(operator)除了一般語言都具有的算術、
比較、邏輯、指定等之外,有較為低階的功
能,如取址算符,指位算符,左旋、右旋算
符,位元式的AND、OR 、XOR算符等等。
二、C語言的指令很少,大部分的功能都是以
函式呼叫的方式來達成,
三、所有的C語言編譯器都會提供一個標準的
函式庫(Library),以提高其可攜性。
[C++的演進及設計目標]
Bjarne Stroustrup:C++主要的設計目標:
(1) 一個更好的C語言
(2) 可支援抽象化資料型別
(3) 可實現物件導向程式設計
$ JavaScript 和 Java的屬性比較
JavaScript
Java
手稿語言
程式語言
變數型別檢查鬆散
變數型別檢查嚴謹
初步存取控制
階層式存取控制定義
沒有引出能力的型別
完整物件導向能力或屬性繼承
沒有陣列檢查
嚴格地陣列存取檢查
執行副本階層
物件階層
JavaScript 物件
Java 類別
§§II.. Java語言的特色:
$ 特色之彙總
• 『Write once, Run anywhere.』
•
『 Unique program, Do anything』
•
•
•
•
•
•
•
1.物件導向-沿用C/C++的習慣語法
2.跨平台執行功能-平台中立性
3.具有下載程式的功能-網路功能
4.具有安全的執行環境
5.多緒執行(multi-threaded)
6.穩固性
7.具自動記憶體管理功能
$1. 物件導向沿用C/C++的習慣語法(1)
• 除了下列各項外, 其餘相同:
• Java 的函式(method)、介面(interface)全
都包在物件中。Java它支援單一的繼承,
Java 物件的根類別是java.lang.Object 。
$1. 物件導向沿用C/C++的習慣語法(2)
•
•
•
•
•
•
•
•
A. Java沒有前置處理器 (preprocessor)
B. Java沒有指標 (pointer)
C. Java沒有goto敘述,也沒有 struct與
union語法
D. Java沒有多重繼承與運算子覆載
(operator overloading)
E. Java具有記憶體回收(garbage
collection) 功能
$2. 跨平台執行功能平台中立性
•
•
•
• =>
Java Bytecode Runs
at JavaVM( Java Virtual Machine )
on Various Types of OS
Java Is Not Language Only
$3. 具下載程式的功能-網路
功能
• 配合 Web Server 及 Browser 之運作,可
將 Applet 自Web Server 下載到 Browser
上之電腦執行,增加其應用的空間。
• Java提供便利的網路程式設計工具
$4. 具有安全的執行環境
•
•
•
•
•
•
•
•
(1) 語言文法上的設計
(2) Java compiler的設計
(3) Java程式碼之載入以至執行 時的系統
支援
(4) Java系統相關之各層軟體均加入安全
性之檢查
(5) 容許Java applet自一個遠端的電腦下
載執行