壹.前言
「『Java』」從1995暑假開始就在計算機行業受到了極大的關註,尤其是在互聯網和多媒體相關產品方面。Java為什麽這麽有吸引力?人們打這個比方:Java在萬維網(WWW)上的地位,就像電子表格和個人電腦(PC)的關系壹樣。那麽Java有什麽特點呢?
Java是壹種軟件技術。
是由SUN Microsystems公司開發的壹種語言。
是壹種為互聯網開發的計算機語言。
是壹種使網頁產生生動圖片的語言。
它是壹種將網頁從靜態變為動態的語言。
是壹種用於生成“小程序”的語言。
它是壹種簡化的C++語言,是壹種安全的語言,具有阻斷計算機病毒傳播的功能。
是壹種將安全性放在首位的語言。
它是壹種用戶不需要花太多時間學習的語言。
它是壹種突破客戶機環境和CPU結構的語言。
是壹種“壹次編寫,隨處運行”的語言,它是第壹套允許用戶將應用程序從遠程服務器傳輸到本地機器並通過互聯網執行的語言。
它是壹種語言(Kestenbaum,1995),其中應用程序提供商不需要知道用戶的計算機硬件(如Sun、Intel或MAC)和軟件(如SW- UNIX、MAC O/S、Windows或NT)。
下面將按順序介紹Java,首先是Java的發展歷史和Java語言的介紹,其次是Java Applet和HotJava的簡單介紹。
二、Java常見問題
以下是講解Java發展歷史和背景的問答(以下內容由Java FAQ list和Tutorial以及《Java語言:白皮書》整理而成,想了解更多請自行參考原文):
Java是什麽時候開始發展的?(何時)
最早可以追溯到1991的4月。孫的綠色項目開始開發消費電子產品,使用的語言有C、C++和Oak(Java語言的前身)。後來由於語言本身和市場問題,消費電子產品的發展達不到最初的預期目標,而隨著互聯網的興起,綠色計劃改變了發展方向,壹直是1994。
為什麽叫Java?(為什麽)“Java”是美國SUN計算機公司的Java開發團隊經過無數次熱烈討論後選定的。活潑、動畫、速度、互動性,是妳第壹次選擇名字時想要表達的特點。“Java”從無數的建議中脫穎而出,“Java”並不是由幾個單詞的首字母組成,而是從很多程序員喜愛的熱騰騰的香濃咖啡中獲得靈感。
Java是誰開發的?(Who) Java是由美國SUN計算機公司的Java開發團隊開發的,其早期成員(綠色計劃)是Patrick Naughton、詹姆斯·高斯林和Mike Sheridan,現在比較熟悉的成員是詹姆斯·高斯林。
Java是在哪裏開發的?(哪裏)
那就是問Java的發源地?答案是美國。
如何找到所需的Java信息?(如何)
在Internet上,您可以使用URL/或/連接到Sun的Java WWW網站。妳幾乎可以在那裏找到所有妳需要的Java信息,但是語言是壹個障礙,至少對某些人來說是這樣;沒關系。目前國內很多網站都提供中文Java信息。清華和中科院的FTP站點上有很多相關的資料。想象壹下,將來應該會有更多的網站提供相關信息。
怎樣才能看到Java的效果?(我如何)
首先妳需要壹個帶Java解釋器的瀏覽器,比如Netscpae的Netscape Navigator 2.0以上或者Sun的HotJava瀏覽器。對於個人電腦用戶,操作系統應該是Windows 95或Windows NT。
因為寫C++語言程序的困難,所以開發了Java。起初,它只是消費電子產品大計劃的壹部分。最初考慮的是C++語言,但從頭到尾的壹系列問題迫使其放棄C++語言,Java語言應運而生。Sun希望Java是簡單的、面向對象的、分布式的、解釋的、健壯的、安全的、體系結構中立的、可移植的、高性能的、多線程的和動態的編程語言。
在孫的《Java語言白皮書》中,對上述Java語言的技巧進行了清晰的闡述。以木工為類比,壹個面向對象的木匠,他(她)的主要關註點是要做的木椅,其次是需要的工具;反之;不是面向對象的木匠只關心工具。最近的即插即用也是面向對象設計的重點。分布式):Java對JAVA有非常全面的介紹。
壹,
「『Java』」從1995暑假開始就在計算機行業受到了極大的關註,尤其是在互聯網和多媒體相關產品方面。Java為什麽這麽有吸引力?人們打這樣的比方:Java在萬維網(WWW)上的地位就像壹個電子表格配合個人電腦TTP和FTP等TCP/IP通信協議。Java應用程序可以打開和鏈接網絡上的對象,就像通過URL使用本地文件系統壹樣。健壯:Java寫的程序可以在各種情況下執行,有它的穩定性。Java和C/C++最大的區別就是Java有壹個指針模型來排除覆蓋內存和損壞數據的可能性。
安全):Java是為在網絡和分布式環境中使用而設計的,安全性是非常重要的考慮因素。Java有幾級環環相扣的保護措施,可以有效防止病毒的入侵和破壞。
架構中立:壹般來說,網絡由許多不同類型的機器組成,具有不同的CPU和操作系統架構;因此,如何使壹個應用程序在每壹臺機器上都可以執行是壹個難題。幸運的是,Java的編譯器產生了壹種結構中立的目標文件格式。這使得編譯後的代碼能夠在各種處理器中執行。
可移植:指定原始數據類型的大小。比如“float”總是代表壹個32位的IEEE 754浮點運算數,因為大多數CPU都有這個相同的特性。庫是系統的壹部分,定義了壹些可移植的程序接口,Java本身就有很好的可移植性。
解釋型):Java解釋器可以在任何機器上直接執行Java字節碼,所以在鏈接程序時節省了時間,對縮短程序的開發過程有很大的幫助。
高性能):Java位代碼可以快速轉換成機器碼,從位代碼轉換成機器碼的效率和C、C++差不多。
多線程:Java語言具有多線程的功能,有助於交互響應能力和實時執行行為。
動態性):Java比C或C++更具動態性,能適應不斷變化的環境。Java不會因為庫的更新而不得不重新編譯程序。
此外,Hank Shiffman (Making Sense of Java)也針對大家對Java的普遍誤解和想法提出了自己的解釋,特翻譯如下:
" Java是壹種編寫網頁的語言,就像HTML和VRML壹樣."事實上,Java不是HTML那樣的描述語言,而是壹種編程語言。描述語言表示內容和位置,而編程語言描述產生結果的過程。
2."與C、C++和其他編程語言不同,Java語言易學易用. "
Java是壹種編程語言。Java好學嗎?Java可能比C或C++更容易學,但它仍然是壹種編程語言,而不是描述語言。
3." Java代碼是可移植的,但C和C++不是. "
Java源代碼比C語言可移植性強壹點,區別在於Java目標代碼。Java代碼在壹臺機器上編譯,可以在所有機器上執行,只要那臺機器上有Java解釋器。
4." Java可以擴展到在機器上做任何事情. "
理論上Java Applet (Java做什麽都行,比如模擬3D VRML模型,播放電影,生成音頻等。但實際上,小程序只能在那個頁面上執行,而不能在那個頁面之外執行。同時,Java也受到庫的功能限制。
5.“Java適合構建大型應用程序”
如果Java適合大型程序,那麽它就不適合Web瀏覽器。最早的商用Java小程序(Applix的基於Java的電子表格)並沒有完全使用Java,它只是使用Java作為用戶界面,所有的處理工作都是在CGI代碼中完成的。
6.“Java被解釋執行,Basic被解釋執行,所以Java=Basic”
雖然Java確實使用了解釋器,但實際上Java接近C或C++等全編譯語言,而不接近Basic或APL等全解釋語言。
7." Java刪除了CGI腳本和程序要求. "
Java小程序將取代壹些CGI的使用。在某些情況下,Java小程序可以取代壹些服務器端代碼,但在大多數情況下,出於安全原因或性能考慮,Java仍然不能完全取代CGI腳本。
8.“網景的JavaScript和Java有關”
除了名字,Java和JavaScript還有壹點關聯。JavaScript是壹種命令腳本語言,可以在HTML頁面中使用。Java代碼不會出現在HTML中,但是編譯後的代碼組是通過HTML中的鏈接來鏈接的。Java和JavaScript的關系就像C語言和C Shell的關系壹樣。