Download presentation
Presentation is loading. Please wait.
1
成大電腦網路服務課程 報告者 : 陳明輝 §§I. 成大計算機與網路中心 §§II. E-mail:cmchen@mail.ncku.edu.tw §§III Tel : 886-6-2757575 ext. 61034
2
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
3
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.
4
成大電腦網路服務課程 JAVA 簡介之大綱 §§I. JAVA 之由來與比較 §§II. JAVA 語言之特色 §§III JAVA 架構與其體系 §§IV JAVA 實作之準備 §§V. JAVA 相關技術之發展
5
§§I. Java 之由來與比較 $ Java 語言定義 : 一. 由 C++ 語言參考發展出 二. 以網路為中心並可在不同系統平台執行 三. 先編譯成與系統機器無關之位元碼 (Bytecode) 四. 再在支援 JAVA Virtual Machine 之各系 統平台上解譯 (Interpret) 並執行 五. 美 Sun Microsystem 發展之 Internet 語言
8
$ 網路主要需求表 網路種類 網際網 企業網 商業網 Internet Intranet Extranet 網路主要需求 跨平台 V V CGI 豐富化 V V 安全性 V V 效率性 V 簡易性 V V => Java Makes It !!
9
$ 程式語言的演進:抽象化程度 A. 第一代語言: (1) 、語言典範: FORTRAN1(FORmula TRANslator 1) 為代表 (2) 、運作觀念:直接輸入, 不必再從硬體的 觀點去考慮問題。 (3) 、抽象程度:數學運算的抽象化
10
B. 第二代語言: (1) 、語言典範: FORTRAN Ⅱ, Algol60, COBOL, LISP 。 (2) 、運作觀念:開始有程式區塊及副程式 的觀念。 (3) 、抽象觀念:演算法則的抽象化。
11
C. 第三代語言: (1) 、語言典範:包括了 PL/1, Pascal, Simula, C, Prolog 等語言。 (2) 、運作觀念:集中放在同一個記錄 (Record) 或結構 (Structure) 中。 (3) 、抽象觀念:資料結構的抽象化。
12
D. 第四代語言: (1) 、語言典範:如 SQL, INFORMIX 4GL, CASE 等等。 (2) 、運作觀念:接近自然語言 ( 即口語化 ) , 只要列出需要哪些功能,系統就會自動 運算並產生結果,甚至可以用選單及表 格做輸入。 (3) 、抽象觀念:程式設計的抽象化。
13
E. 新一代語言: (1) 、語言典範:有 Ada, Modula, Smalltalk, Object Pascal, C++ 等。 (2) 、運作觀念:運用自行定義資料型別的 觀念,發揮封裝、繼承、多面性之特性, 模組重用、功能擴充、程式修改及維護 上所面臨的各項難題。 (3) 、抽象觀念:物件操作的抽象化。
15
$ 與其他語言之比較 [ C++ 的前身 -C 語言 ] 一、算符 (operator) 除了一般語言都具有的算術、 比較、邏輯、指定等之外,有較為低階的功 能,如取址算符,指位算符,左旋、右旋算 符,位元式的 AND 、 OR 、 XOR 算符等等。 二、 C 語言的指令很少,大部分的功能都是以 函式呼叫的方式來達成, 三、所有的 C 語言編譯器都會提供一個標準的 函式庫 (Library) ,以提高其可攜性。
17
[C++ 的演進及設計目標 ] Bjarne Stroustrup : C++ 主要的設計目標: (1) 一個更好的 C 語言 (2) 可支援抽象化資料型別 (3) 可實現物件導向程式設計
19
§§II.. Java 語言的特色 : $ 特色之彙總 『 Write once, Run anywhere. 』 『 Unique program, Do anything 』 1. 物件導向 - 沿用 C/C++ 的習慣語法 2. 跨平台執行功能 - 平台中立性 3. 具有下載程式的功能 - 網路功能 4. 具有安全的執行環境 5. 多緒執行 (multi-threaded) 6. 穩固性 7. 具自動記憶體管理功能
20
$1. 物件導向 - 沿用 C/C++ 的習慣語法 (1) 除了下列各項外, 其餘相同 : Java 的函式 (method) 、介面 (interface) 全 都包在物件中。 Java 它支援單一的繼承, Java 物件的根類別是 java.lang.Object 。
21
$1. 物件導向 - 沿用 C/C++ 的習慣語法 (2) A. Java 沒有前置處理器 (preprocessor) B. Java 沒有指標 (pointer) C. Java 沒有 goto 敘述,也沒有 struct 與 union 語法 D. Java 沒有多重繼承與運算子覆載 (operator overloading) E. Java 具有記憶體回收 (garbage collection) 功能
22
$2. 跨平台執行功能 - 平台中立性 Java Bytecode Runs at JavaVM( Java Virtual Machine ) on Various Types of OS => Java Is Not Language Only
23
$3. 具下載程式的功能 - 網路 功能 配合 Web Server 及 Browser 之運作,可 將 Applet 自 Web Server 下載到 Browser 上之電腦執行,增加其應用的空間。 Java 提供便利的網路程式設計工具
24
$4. 具有安全的執行環境 (1) 語言文法上的設計 (2) Java compiler 的設計 (3) Java 程式碼之載入以至執行 時的系統 支援 (4) Java 系統相關之各層軟體均加入安全 性之檢查 (5) 容許 Java applet 自一個遠端的電腦下 載執行
25
$4. (5) 容許 Java applet 自一個 遠端的電腦下載執行 (a) 記憶體分隔 -Java 語言沒有指標,無法 利用指標指到程式外記憶體進行破壞 (b) Java 在程式執行時才確立實際記憶體 的配置情形,事先不能預測 (c) 執行前先檢查此 bytecode 是否有違反 Java 的安全限制
26
$5. 多緒執行 (multi-threaded) Java 定義多緒執行 為語言的一部份, 可以在不同的支援多緒的作業系統上 執行, 而不必考慮不同系統中不同的多緒系 統呼叫。
27
$6. 穩固性 (1) Java 沒有指標 (2) Java 資料型別的轉換有十分嚴格的檢 查 (3) Java 提供例外處理的機制來防護當程 式發生錯誤時的破壞情況
28
$7. 具自動記憶體管理功能 Java 中不提供類似 C 中 malloc ( ) 及 free( ) 之函數。 利用 new( ) 產生新物件,程式設計師不 必擔心何時應收回無用的記憶體空間, Java 之執行系統執行 garbage collection , 自動回收已不再使用的物件。
29
§§ III. JAVA 架構體系: §1. 整體彙總 全方位之發展與應用已形成 : 1.J2EE(Java 2 Enterprise Edition, 企業用 ) :可運用於大系統中大主機環 境,如 Oracle 、 Informix 、 Sun 、 IBM.. 等。 2.J2ME(Java 2 Standard Edition, 一般或教育用 ) :可運用於中小系統一 般平台 ( 含 pc) ,如 "Informix 、 Silver Stream 3.J2ME(Java 2 Micro Edition, 迷你用, 含無線世界應用 ) :可運用於為小 型電腦、通訊及資訊家電平台,如 Oracle 、 Palm 、 Sun 4.Jini( 超為小型用 ) :可運用於超微小世界 ( 如資料與科學之 Nano design) 之相關設計,很適合於研發與學界之理論探索
30
Java IDE Java Compiler “javac” Other Dev. Tools Java Debugger Client Compiler Java Plug-in Java Hot Spot runtime Applet awt beans io lang math net rmi security sql text untl accessilility swing corba Sound naming Solaris Win32 Linux Mac Other
33
§§ IV. Java Implementation : $1. 實作彙總 除 Jini 系統外,其他各個版本之研究已經有相當成熟穩 定之商品化出爐,亦即從 (1) 主機端伺服器設計 (2) 中介轉換環境 (3) 跨平台整合環境;乃至 (4) 前台開發與設計環境等之系統開發與維護工具 乃至應用程式一一出爐,尤其更成熟至 (5) 電子商務之具體平台完整推出,如 iPlant 、 Sliver Stream 、 CA 、 Kana eBusiness Platform for Unix (Kana Communication) 、 Jcanvas Sudio (Artistic System)
34
$2. JDK(JAVA 開發工具 ) (1). Java 編譯器 ──javac (2). Java 解譯器 ──java (3). Java Applet 瀏覽器 ──Appletviewer (4). Java 除錯器 ──jdb (5). C 標頭產生器 ──javah (6). Java 反組譯器 ──javap (7). Java API 文件產生器 ──javadoc (8). classes.zip (9). src.zip
35
$3. Development Termnology JAVA 2 Platform, Standard Edition : J2SE JAVA 2 Software Development Kit : SDK JAVA 2 Software Developer Kit : JDK JAVA Runtime Environment : JRE
36
$4. Open Developmnet Source 以 J2SE(Java 2 標準版 ) 為例 : 在 Win32 平台 :( 如,win98/winNT) 傳檔 j2sdk-1_3_0_01-win.exe( 約 68MB) 解壓縮, 產生 \jdk1.3.0_01\ 子目錄群 在 Unix 平台 :( 如,Linux Red-Hat 7.x) 傳檔 j2sdk-1_3_0_02-linux-rpm.bin(67MB 解壓縮, 產生 /usr/jdk1.3.0_02/ 子目錄群
37
§§ V. Java 相關技術之發展 $. 技術發展彙總 (1) A. Java Beans B. Java Servlet C. JDBC (Java DataBase Connetivity) D. RMI (Remote Method Invocation) E. Java IDL(Interface Definition Language) F. JSP(JavaServer Page) G. JavaChipset and OS
38
§§V. Java 相關技術之發展 $. 技術發展彙總 (2) H. Java CARD I. JNDI (Naming and Directory Interface) J. Mobile Agent:(Wireless Communication) K. JTS(Java Transaction Service) L. JMAPI(Java Management API) M. 系統相關的安全及認證問題 N. Business to Business E-Commerce O. Game
39
$ Java 相關技術之發展 A. Java Beans: Java Beans 是用於 Java 程式設計中可 重用軟元件 (reusable software component) 的一種工具。類似 Delphi 或 Visual Basic
40
$ Java 相關技術之發展 B. Java Servlet Java applets 是自 Web Server 下載到瀏 覽器執行的程式,而 Servlet 則是可在 Web Server 上動態執行的 Java 程式。 Java Servlet 與 Java applet 最大的不同在 前者不具圖形化人機介面。
41
$Java 相關技術之發展 C. JDBC(JavaDataBase Connetivity) JDBC(Java DataBase Connetivity) API (Application Programming Interface) 是一 套 API ,供 Java 應用程式對各種資料庫做 存取的操作。
42
$Java 相關技術之發展 D. RMI(Remote Method Invocation) 分散式系統中常利用 RPC(Remote Procedure Call) 做 client/server 之溝通管道, RMI 可視為 Java 系統中類似 RPC 的機制。
43
$ Java 相關技術之發展 E. Java IDL: Java IDL(Interface Definition Language) 為 Java 語言在 CORBA (Common Object Request Broker Architecture) 環境上運作 的介面語言。利用 Java IDL 之工具,程 式設計師可利用 Java 設計 CORBA 系統中 之物件,並與其他語言所寫的 CORBA 物件做結合。
44
$ Java 相關技術之發展 F. JSP(JavaServer Page): 1. 伺服器端執行之語言 2. 不但包含 HTML, 且包含一些在伺服器 端 執行之 Java 程式碼 3. 當使用者要求 JSP 網頁時,Web 伺服器 JSP 引擎先動態產生 Servlet 程式碼, 然 後再交由 Servlet 引擎編譯並執行, 最後 將網頁回傳瀏覽器 4. 類似 MS 之 ASP; 有 unix 與 win32 版本
45
$ Java 相關技術之發展 G. JavaChipset and OS: GENEVA (OneEighty Co.) -- Support IA and Mobile iButton key ( Dallas Semiconductor) -- 64KB ROM,134KB RAM on 16mm JavaChipset 即時編譯技術 (Just-In-Time Compiler)
46
$Java 相關技術之發展 H. Java CARD 交易上, Java Card API 之製造是為了 Smart Card 市場應用之需。 Java Card 系 統上之 Java 可視為一簡化形的 Java 環境。
47
$Java 相關技術之發展 I. JNDI(Naming and Directory Interface) 在分散式系統中命名 (naming) 及目錄 (directory) 服務是很重要的項目,在一些 應用上對某些長期性的物件,其名稱及 相關屬性常考量儲存於 name server 上, 以方便做查詢。
48
$ Java 相關技術之發展 J. Mobile Agent : (Wireless Commumication) 1. Java Native Processor ( Zucotto Co )Bluetooth ( Alcatel ) 2. Air Browsing ( Tenzing Co ) 3. Lava Platform ( Jsrel Niragongo Co ) => improve browsing efficiency and speed 4. Open Multimedia Application Platform ( TI )
49
$ Java 相關技術之發展 J. Mobile Agent : (Wireless Commumication) 5. Java WAP Gatewdy ( Empower Jnterative Co ) Fully Compatible WAP 1.1 stack Support WTLS Security Layer ( I, II ) SSL Security Layer Config Support UDP cross platform run on JVM Linkable to any HTTP 1.0, 1.1 Host Fully events log
50
$ Java 相關技術之發展 J. Mobile Agent : (Wireless Commumication) 6. 行動代理人執行環境, 如 IBM 之 Aglet 工作, 如 IC 卡, 如 PDA , 如 Set-top-box 等。
51
$ Java 相關技術之發展 K/L/M. 其他 K. JTS ( Java Transaction Service) 用於交易服務 L. JMAPI (Java Management API) 用於網路及系統管理之 M. 系統相關的安全及認證問題 電子商業交易,網路上資訊擷取等
52
$ Java 相關技術之發展 N. Business to Business e-commerce ( 壹 ) 、 J2EE architecture ( 貳 ) 、 XML(Extensible Markup Language) ( 參 ) 、 Application transport technology for B2B(Business to Business) ( 肆 ) 、 Organizations and Standards
53
$ Java 相關技術之發展 O. Game (1). Motorola & SEGA( next-generation multiple communication phones, JAVA ) (2). i- appli of Java ( NTT Docomo )
54
§§ VI. Java 可參考資料來源 (1) 網站 : http://www.sun.com/software http://www.sun.com/tech http://java.sun.com http://ftp.ee.ncku.edu.tw
55
§§ VI. Java 可參考資料來源 (2) 書刊 : ( 一 ) Suitable for Developer JavaWorld IDG; Web Developer Online Java Report Online; Java Pro Java Developer’s Journal ( 二 ) Suitable for General User Dr. Dobb’s Journal; Forcus on Java Wandering Man
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.