|
你是第 個訪客
認識Java
Java(tm)係由美國昇陽電腦公司(Sun Microsystems,
Inc.)所發展出的第一種能在國際網際網路(Internet)上面具有「硬體/軟體中立性」互動能力的程式語言。Java一推出即引起世界各種媒體的注意與熱烈參與討論,如Time、
Business Weekly、CNN等,可見其功能及媚力,事實上,以Java的功能,勢必在資訊界掀起另一番高潮,對於網路的發展,又邁入另一個新的紀元。
前言
『Java』從1995年的暑假開始即受到電腦業界的高度注意,特別是在Internet和多媒體(Multimedia)相關產品類方面。Java為何有如此這麼大的媚力?有人作如此的比喻:
Java在全球資訊網(World Wide Web,WWW)地位就如同試算表(Spreadsheet)與個人電腦(PC)的關係。
那Java究竟有那些特色呢?
- 是一種軟體技術
- 是一種由美國昇陽電腦公司(Sun Microsystems,
Inc.)研究所研發而成的語言
- 是一種為Internet發展的電腦語言
- 是一種使網頁(Web Page)產生生動和活潑畫面的語言
- 是一種使網頁(Web Page)由靜態(Static)轉變為動態(Dynamic)的語言
- 是一種語言,以產生「小應用程式(Applet(s))」
- 是一種簡化的C++語言
- 是一種安全的語言,具有阻絕電腦病毒傳輸的功能
- 是一種將安全性(Security)列為第一優先考慮的語言
- 是一種使用者不需花費很多時間學習的語言
- 是一種突破使用者端機器環境和CPU架構的語言
- 是一種「寫一次,即可在任何機器上執行(Write
OnceRun Anywhere)」的語言是有史以來,第一套允許使用者將應用程式(Applications)透過Internet從遠端的伺服器(Remote
Server)傳輸到Local端的機器上(LocalMachine)並執行之
- 是一種應用程式提供者不需要知道使用者的電腦硬體(如:Sun,
Intel, 或MAC等)
與軟體(如:SW-UNIX,MAC O/S, Windows, 或NT等)環境 的語言(Kestenbaum,
1995)。
Java何時開始發展?(When)
最早的大概可追朔至1991年四月份,Sun的綠色計畫(Green
Project)開始著手於發展消費性電子產品(Consumer Electronics),所使用的語言是C、C++、及Oak
(為Java語言的前身),後因語言本身和市場的問題,使得消費性電子產品的發展無法如當初預期的目標,再加上網路的興起,綠色計畫也因此而改變發展的方向,這已是1994年了。
為何稱之為Java?(Why)
"Java"是美國昇陽電腦公司Java發展小組歷經無數次的腦力激盪會議之後才被選擇出。生動(Liveliness)、動畫(Animation)、速度(Speed)、互動性(Interactivity)為當初選擇名字時所欲表達出的特色。"Java"是在無數的建議中脫穎而出的,而"Java"
不是由幾個單字的首字所組成,而是從許多程式設計師鍾愛的熱騰騰、香濃咖啡中產生靈感的。
誰開發了Java?(Who)
答案是美國昇陽電腦公司Java發展小組,早期的成員(綠色計畫)是Patrick
Naughton, James Gosling, & Mike Sheridan,而現在大家較為熟悉的成員是James
Gosling,現在的Java發展小組成員也增加了許多,當然您也有機會成為該小組的成員,機率永遠是大於零。
在那裡開發了Java?(Where)
也就是問Java的出生地?答案是美國。
如何可以找到我所需要的Java資訊?(How
to)
在網路上,您可以連線到Sun公司的Java
WWW網站,網路位址是http://java.sun.com/,或是http://www.javasoft.com/。那裡幾乎可以找到您所需要的Java資訊,但是語文多少是一個障礙,至少對某些人而言;沒關係,目前國內已有很多個網站提供中文Java資訊,爾後應會有更多的網站提供相關資訊。
我如何可以看到Java的效果?(How
Do I)
首先您需要有與Java相容的瀏覽器(Browser),例如:網景公司的Netscape
Navigator 2.0 以上或是Sun公司的HotJava瀏覽器,對個人電腦使用者而言,作業系統需是Windows
95或是Windows NT。
進一步地介紹Java語言。
Java乃是因應撰寫C++語言程式時的困難而研發的,起先,只是一個消費性電子產品大計劃中的一部份,C++語言是當初被考慮採用的,但從一開始的問題一直到最後的一連串問題迫使得放棄C++語言,而有Java語言的產生。
Sun是要Java成為一個簡單(Simple)、物件導向的(Object
Oriented)、分散式的(Distributed)、解譯的(Interpreted)、強韌性的(Robust)、安全性的(Secure)、架構中立性的(Architecture
Neutral)、可攜帶性的(Portable)、高效能的(High Performance)、多重線串Multithreaded)、動態性的(Dynamic)的程式語言。
Sun的Java語言白皮書中說明Java語言的特點:
-
簡單(Simple):容易撰寫程式,不需要長時間的訓練,而能滿足現代的需求。程式小型亦是簡單的一種特性,使得軟體能夠在小型機器上執行,基本的解譯器約為40k,若加上基本的程式庫,約為215k。
-
物件導向的(Object-Oriented):物件導的設計是一種重心在資料和介面的技巧。若以木工為比喻,一個以物件為導向的木工,他(她)最主要的重點是即將要做的木椅子,其次才是所需要的工具;反之;一個以非物件為導向的木工,他(她)所關心的只是工具。最近的隨插即用(Plug
and Play)亦是物件導向設計的重點。
-
分散式的(Distributed):Java有一個很週全的程式庫,且很容易地與HTTP和FTP等TCP/IP通訊協定相配合。Java應用程式(Applications)能在網路上開啟及連結使用物件,就如同透過URLs連結使用一個區域檔案系統(Local
File System)。
-
強韌性的(Robust):由Java所撰寫出的程式能在多種情況下執行而具有其穩定性Java與C/C++最大不同點是Java有一個指標器模型(Pointer
Model)來排除記憶體被蓋寫(Overwriting Memory)和資料毀損(Corrupting
Data)的可能性。
-
安全性的(Secure):Java是被設計用於網路及分散性的環境中,安全性自必是一個很重要的考慮。Java擁有數個階層的互鎖(Interlocking)保護措施,能有效地防止病毒的侵入和破壞行為的發生。
-
架構中立性的(Architecture
Neutral):一般而言,網路是由很多不同機型的機器所組合而成的,CPU和作業系統架構均有所不同;因此,如何使一個應用程式可以在每一種機器上執行,是一個難題。所幸,Java的編譯器產生一種結構中立物件的檔案格式(Object
File Format);這使得編譯碼得以在很多種處理器中執行。
-
可攜帶性的(Portable):原始資料型式的大小是被指定的,例如"float"一直是表示一個]32位元IEEE
754浮點運算數字,因絕大多數的CPU都具有此一共同的特徵。程式庫屬於系統的一部份,它定義了一些可攜帶的介面,Java本身具備有很好的可攜帶性。
-
解譯的(Interpreted):Java解譯器能直接地在任何機器上執行Java位元碼(Bytecodes),因此在進行程式連結時,時間的節省,這對於縮短程式的開發過程,有莫大的助益。
-
高效能的(High Performance):Java位元碼迅速地能被轉換成機械碼(Machine
Code),從位元碼轉換到機械碼的效能幾乎與C與C++沒有分別。
-
多重線串的(Multi threaded):Java語言具有多重線串的功能,這對於互動回應能力及即時執行行為是有助益的。
-
動態的(Dynamic):Java比C或C++語言更具有動態性,更能因應時刻在變的環境,Java不會因程式庫的更新,而必須重新編譯程式。
一般對Java的錯誤看法及觀念
1. "Java是一種撰寫Web Pages的一種語言,就如同HTML和VRML一樣"
-
事實上,Java並不像是HTML此一類的敘述語言(Description
Language),而是一種程式語言(Programming Language)。敘述語言標明內容和位置,而程式語言描述一種產生結果的過程。
2. "Java語言容易學習和使用,不像C、C++和其它程式語言"
-
Java是一種程式語言。Java容易學嗎?Java或許是比C或C++容易學,但仍是一種程式語言,而不是一種敘述語言。
3. "Java碼是可攜帶的,但C及C++不是"
-
Java原始碼(Source Code)是比C語言來得可攜帶性一點,差別在於Java的物件碼。Java碼在一種機器上進行編譯,而能在所有的機器上執行,只要那部機器上有Java解譯器。
4. "Java能被拓展而在機器上執行任何事情"
-
理論上,Java Applet (Java小應用程式)能做任何事情,如模擬3D
VRML模型、播放電影、產生聲音....等。但事實上,一個小應用程式(Applet)僅能在那一頁上被執行,而無法在那一頁之外執行。同時,Java亦受限於程式庫的功能。
5. "Java是適合於建立大型的應用程式"
-
如果Java適合於大型程式,則Java就不適合應用於Web瀏覽器了。第一個商業性的Java
Applets (Applix's Java-Based Spreadsheet)並不是全然使用Java,它只使用Java作為使用者介面,而所有的處理工作,是用CGI碼。
6. "Java是可解譯的,Basic是可解譯的,因此Java=Basic"
-
雖然Java的確是使用解譯器,但事實上,Java則與C或C++等完全編譯語言較為相近,但與Basic或APL等完全解譯語言較不相近。
7. "Java刪除了CGI命令稿(Scripts)和程式的需求"
-
Java Applets將會取代部份CGI的用途。在有些情況,Java
Applets能夠取代一些伺服器端的碼(Server-Side Code),但大多數的情況,基於安全性理由或是效能的考量,Java仍無法全然取代CGI
Scripts。
8. "Netscape's JavaScript是與Java有相關"
-
除了名稱之外,Java和JavaScript是有一點點相關。JavaScript是一種命令稿語言,是可以在HTML頁中使用。Java碼並未出現在HTML中,而在HTML中有一個鏈結來鏈結編譯碼組。Java和JavaScript之間的關係就如同C語言和C
Shell一般。
其他有關 Java 教學的網址
 |
Java入門
一個教導編寫 java class 的網站 |
 |
安格斯的爪哇屋
|
 |
爪哇咖啡屋 - Java Applet輔助工具及資源蒐集。 |
 |
阿貧之家 - 有關java applet信息。 |
 |
看不見的爪哇 -
介紹Applet之外的Java技術。 |
 |
真實人生 - 含Java
Applet, Java Script單元,介紹及蒐集各種程式。 |
 |
Java資源網(BIG5)
豐富的Java程式庫。打包成ZIP檔,下載相關檔案後,解開壓縮檔,參考其中index.htm檔案,可自行變化運用。
|
 |
小台哥的Java(BIG5)
蒐集小台哥發表的Java文章,有三十多篇。
|
 |
爪哇博物館(BIG5)
包含與Java
相關資訊。有爪哇程式語言的展示下載,還有很多的類似網頁教學、免費資源、軟體下載等欄目。這裡有Java
Applet程式展示、Java Script 程式展示、Java相關站台連接、Java相關書籍以及Java討論區等。適合喜歡Java的網友,平日里逛逛。
|
 |
Java 世界(GB)
幾個精采的Java源程式下載。
|
 |
Java大觀園(GB)
提供JavaApplet欣賞,收集一些經典的Java Applet和部分源程式碼。
|
 |
Java咖啡屋(GB)
Japa講座及 Javascritp介紹。這裡還有中文版的Java Script和JDBC介紹,分類詳盡,章節體的HTML,可看成一本詳細了解Java的書籍。
|
 |
The
Java Lounge(GB)
介紹Java, Java Script及網頁製作。但不知道為甚麼,令人癢癢的技術文章卻沒有連接?我氣!
|
 |
爪哇咖啡香(GB)
包含Java Script教程及特效,Java Applets特效,Java Games等欄目。實用且內容豐富收集較多。
|
 |
阿華田的Java天地(GB)
有豐富的Java、JavaScript、電腦基礎知識、網絡導航、html教程、網頁製作等技術性中文文章。每天推出一例Java同你共品。值得一上的好站!
|
 |
雨人的咖啡小屋(GB)
提供精采的Java Applet
範例、實用程序、中文使用說明等好東西。並在頁面上,直接列出其Java源碼同class,不用自己找,很方便。
|
 |
網上流雲(GB)
推介一些Java 與 JavaScript 的樣例。
|
 |
編程寶藍(GB)
老朋友了,這個站點在其它的欄目中也有介紹。它同樣包含了Java的一些內容,從開發工具到技術資料都有下載。
|
 |
非常 Java
手冊
|
 |
JAVA初學者園地
|
 |
Java程式設計與寫作
|
 |
Gamelan: Earthweb's Java Directory
|
 |
Java(tm) - Programming for the Internet
|
 |
http://www.javasoft.com:80/nav/read/Tutorial/TOC.html
This is an online version of The Java Tutorial by Mary Campione and Kathy Walrath
in the Java Series published by Corporate and Professional Publishing Group. A very
exhaustive tutorial on the Java programming language. The authors are members of the
Javasoft team at Sun. The book employs a hands-on interactive approach to teaching Java
basics, object-oriented concepts, applet programming, and everything else you need to know
to become a proficient Java programmer
|
|