?? java入門(1).htm
字號:
<TD><A
href="http://www.linuxaid.com.cn/articles/sublist.jsp?id=687654788"><FONT
color=#ffffff>解決方案</FONT></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!---->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=blackblk align=middle height=20><FONT
color=#ffffff>==>熱辣文檔<==</FONT></TD></TR>
<TR>
<TD class=middleblk>
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/7/0/706710723.shtml"
target=_blank><FONT color=#ffffff>Qmail郵件系統(tǒng)下防止濫用mail
relay完全解決方案</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/7/2/720988345.shtml"
target=_blank><FONT
color=#ffffff>iptables應用之動態(tài)DNS</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/5/0/507500984.shtml"
target=_blank><FONT
color=#ffffff>Linux環(huán)境下基于策略的路由</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/5/2/527306119.shtml"
target=_blank><FONT
color=#ffffff>用webalizer分析web日志</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/2/5/258856554.shtml"
target=_blank><FONT
color=#ffffff>郵件系統(tǒng)postfix安裝與配置(一)</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/1/2/121597210.shtml"
target=_blank><FONT
color=#ffffff>在postfix中實現(xiàn)基于cyrus-sasl的SMTP認證</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/9/9/99268972.shtml"
target=_blank><FONT
color=#ffffff>簡易防火墻建置與流量統(tǒng)計</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/2/5/256984665.shtml"
target=_blank><FONT color=#ffffff>Linux與硬盤分區(qū)</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/6/2/627801482.shtml"
target=_blank><FONT
color=#ffffff>ISO軟件工程模板(4)需求說明書</FONT></A></TD></TR>
<TR>
<TD vAlign=top width=6>·</TD>
<TD><A
href="http://www.linuxaid.com.cn/articles/5/1/515140392.shtml"
target=_blank><FONT
color=#ffffff>Linux簡明系統(tǒng)維護手冊</FONT></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!----></TD>
<TD vAlign=top align=right width=608><IMG height=2 alt=smallline
src="JAVA入門(1).files/smallline.gif" width=600 border=0>
<TABLE class=blackblk cellSpacing=1 cellPadding=0 width=605 border=0>
<TBODY>
<TR>
<TD>
<TABLE class=brightblk cellSpacing=0 cellPadding=8 width="100%"
border=0>
<TBODY>
<TR>
<TD><SPAN class=titleblk>JAVA入門(1) 什么是JAVA</SPAN><BR>
<BLOCKQUOTE class=sumblk><STRONG>摘要</STRONG><BR>
<P> 通過本章的學習,讀者能夠了解Java出現(xiàn)的歷史因素,知道Java語言的優(yōu)缺點,明白Java語言適合應用于什么領域,對Java語言有一個總體的認識。</P>(2002-08-29
14:07:23)</BLOCKQUOTE>
<HR width="98%" noShade SIZE=4>
<STRONG>By <A
href="mailto:wing@linuxaid.com.cn">Wing</A></STRONG>, 出處:<A
href="http://www.linuxaid.com.cn/articles/1/0/www.linuxaid.com.cn">fjxufeng</A><BR><BR><SPAN
class=contentblk>
<P><B> 本章目標:</B></P>
<P> 通過本章的學習,讀者能夠了解Java出現(xiàn)的歷史因素,知道Java語言的優(yōu)缺點,明白Java語言適合應用于什么領域,對Java語言有一個總體的認識。</P>
<P><B> 1.1 JAVA發(fā)展歷程</B></P>
<P> 現(xiàn)在隨便打開一本計算機雜志,都可以看到Java的身影,甚至連《紐約時報》、《商業(yè)周刊》等這些非計算機類報刊雜志都時而會刊登關于Java的消息。一向“目中無人”的微軟公司也不得不對Java這一競爭對手Sun公司的力作提供支持。下面我們就一起來探究一下Java的發(fā)展歷史。</P>
<P> Java的誕生需追溯到1991年。當時,在Sun公司內,有一個稱為Green的項目,這個項目的工程師受命設計一種小型的計算機語言,用于機頂盒、家電控制芯片等消費類設備。由于這些設備功能有限、內存較小,所以這種語言必須盡可能地小,而且應能生成非常緊湊的代碼。而且最重要的一點是,這些設備所采用的處理芯片多種多樣,要使這個語言有強大的生命力,就絕不能夠受限于任何一種體系結構。</P>
<P> 為了實現(xiàn)這一目標,項目組準備嘗試一種古老的模型:設計出一種“可移植”的語言。在執(zhí)行前,生成一個“中間碼”,在任何一種機器上安裝了特定的解釋器,就可以運行這個“中間碼”。這樣“中間碼”一定會非常小,而解釋器也不大,就可以達到這個目標。</P>
<P> 這個由James Gosling和Patrick
Naughton領導的項目組中,大部分員工都是UNIX背景,熟悉C++語言,使得這個新語言走向了“面向對象”的道路。這個語言原來的名字是“Oak”(James
Gosling辦公室窗外的橡樹名),但后來由于“Oak”這一名字已被占用,所以在Sun公司高層的建議下,選用了“Java”一種咖啡的名字做為新語言的名字,所以現(xiàn)在說到Java語言,大家都會想到那杯熱氣騰騰的咖啡!</P>
<P> 也許,Sun公司希望Java語言能夠象咖啡一樣被人們接受、喜愛吧!</P>
<P> 好事多磨!這句中國的老話,也應驗在了這個遠在重洋的項目組。1992年,Green項目組發(fā)布了第一款應用Java語言的產(chǎn)品—一個很智能的遠程控件。但它并未被Sun公司和消費類家電公司所接受。接著Green項目組又開始了許多其它方面的嘗試,均慘遭失敗,不得不在1994年解散。</P>
<P> 正在這個時候,Internet
上的WWW服務越來越普遍,人們需要一個好用的瀏覽器,以便更好地閱讀WEB頁面。這時Green項目組的舊部意識到可以使用Java語言來寫一個瀏覽器。這個最終發(fā)展成目前的HotJava瀏覽器,最初是由Patrick
Naughton和Jonathan
Payne編寫的,它是使用Java語言寫成的。他們在編寫HotJava時,還考慮到提供小應用程序(Applet)的能力,所以在瀏覽器中加入了解釋Java語言“中間碼”的功能。這個設計促進了Java語言的發(fā)展。</P>
<P> HotJava這個試驗品在1995年5月召開的SunWorld大會上首次亮相,從至引發(fā)了遍及全球、至今未衰的Java熱。</P>
<P> 1995年秋,Netscape決定支持讓其瀏覽器支持Java,并在1996年初發(fā)布了支持Java的版本。這意味著Java語言開始大流行。后來,IBM、Symantec、Inprise等許多著名IT公司都注冊了Java使用許可證。而且視Sun公司為敵的微軟公司也在IE中提供了對Java能力,并在Windows中提供了Java虛擬機。(不過,據(jù)Sun公司稱,微軟公司支持的Java語言不是純正的Java語言)。</P>
<P> Java語言的初露鋒芒,讓Sun公司意識到它的價值,于是在1996年初發(fā)布了Java的第一個版本。幾個月后,又發(fā)布了Java
1.02版。但這個版本的Java語言并不是十分完備,不適合用于正規(guī)的應用程序的開發(fā)。</P>
<P> 1996年5月,在舊金山召開了JavaOne大會,在這次大會上,Sun公司為人們繪制了一個美好的藍圖。這個美好的藍圖,讓大多數(shù)人懷疑要達到個目標需要好幾年的時間。但僅過了一小段時間,Sun公司就發(fā)布了令人滿意的Java
1.0版,它實現(xiàn)了絕大部分的目標。</P>
<P> 在1998年召開的JavaOne大會上,Sun公司發(fā)布了Java 1.2版,這就是Java
2,它以功能全面的、具有高度擴展能力的新版本換掉了原來的GUI界面和圖形工具包。朝著“一次編寫,到處運行”的宏偉目標又前進了一大步。</P>
<P><B> 1.2 JAVA的特點</B></P>
<P><B> 1.2.1 Java語言的優(yōu)點</B></P>
<P> Java語言是一種優(yōu)秀的編程語言。它最大的優(yōu)點就是與平臺無關,在Windows 9x、Windows
NT、Solaris、Linux、MacOS以及其它平臺上,都可以使用相同的代碼。“一次編寫,到處運行”的特點,使其在互聯(lián)網(wǎng)上廣泛采用。</P>
<P> 由于Java語言的設計者們十分熟悉C++語言,所以在設計時很好地借鑒了C++語言。可以說,Java語言是一種比C++語言“還面向對象”的一種編程語言。Java語言的語法結構與C++語言的語法結構十分相似,這使得C++程序員學習Java語言更加容易。</P>
<P> 當然,如果僅僅是對C++改頭換面,那么就不會有今天的Java熱了。Java語言提供的一些有用的新特性,使得使用Java語言比C++語言更容易寫出“無錯代碼”。</P>
<P><B> 這些新特性包括:</B></P>
<P> 1) 提供了對內存的自動管理,程序員無需在程序中進行分配、釋放內存,那些可怕的內存分配錯誤不會再打擾你了;</P>
<P> 2) 去除了C++語言中的令人費解、容易出錯的“指針”,用其它方法來進行彌補;</P>
<P> 3) 避免了賦值語句(如a = 3)與邏輯運算語句(如a = = 3)的混淆;</P>
<P> 4) 取消了多重繼承這一復雜的設施。</P>
<P><B> 一些說明:</B></P>
<P> “多重繼承”是“面向對象”的術語,我們將會在第2章中詳細敘述。</P>
<P> 這些優(yōu)點正是Java熱的背景,Java憑借其強大的移植能力、多線程處理和連網(wǎng)能力,風靡全球,現(xiàn)在已經(jīng)逐漸成為手持設備、互聯(lián)網(wǎng)、車內計算機的一項標準。</P>
<P><B> 一些提示:</B></P>
<P> Java語言的規(guī)范是公開的,你可以在http://java.sun.com上找到它,閱讀Java語言的規(guī)范是提高水平的好方法。</P>
<P><B> 1.2.2 Java語言的關鍵特性</B></P>
<P><B> Java語言有許許多多有效的特性,吸引著程序員們,最主要的有以下幾個:</B></P>
<P><B> 1.簡潔有效</B></P>
<P> Java語言是一種相當簡潔的“面向對象”程序設計語言。Java語言省略了C++語言中所有的難以理解、容易混淆的特性,例如頭文件、指針、結構、單元、運算符重載、虛擬基礎類等。它更加嚴謹、簡潔。</P>
<P><B> 注意:</B></P>
<P> 有些熟悉Visual
Basic語言的讀者會覺得Java語言相對VB而言更復雜,的確使用Java編程是比使用VB更費力一些。但大家一定要知道VB是一種集成化開發(fā)工具,其憑借可視化工具成為開發(fā)GUI程序的神器,但其并不能算是一種語言。它的基礎是Basic語言,這是一種最簡單的語言,但其功能不如C、C++、Java這樣完整。</P>
<P> Java語言采用了特殊的軟件構造方法,可以在很小的機器上獨立運行。只要40K就可以容下一個最基本的解釋器,即使加上基本標準庫和線程支持,也僅需再加上175K就夠的。這也是Java語言的一個成功秘訣。</P>
<P><B> 2.高可移植性</B></P>
<P> 對于一個程序員而言,寫出來的程序如果不需修改就能夠同時在Windows、MacOS、UNIX等平臺上運行,簡直就是美夢成真的好事!而Java語言就讓這個原本遙不可及的事離我們越來越近。使用Java語言編寫的程序,只要做較少的修改,甚至有時根本不需修改就可以在不同平臺上運行了。</P>
<P> 舉個例子,不同平臺上對數(shù)據(jù)類型的大小有不同的規(guī)定。在有的平臺上,整型(int)是用一個16位二進制數(shù)表示,而有的平臺上則是使用一個32位二進制數(shù)表示的。C/C++語言并沒有屏蔽掉這個由不同平臺造成的不同。這樣如果在一個使用16位二進制數(shù)表示整型的平臺上開發(fā)的C語言源程序,要在一個使用32位二進制數(shù)表示整型的平臺上運行,簡直就是噩耗。</P>
<P> 而在Java語言中,就屏蔽掉了這種由平臺造成的不同。Java中的整型數(shù)是一定是由32位二進制表示的,Java虛擬機將這個差別消化了。當我們想將一個使用16位二進制數(shù)表示整型的平臺上開發(fā)的Java語言源程序,移植到一個使用32位二進制數(shù)表示整型的平臺上運行,就不用修改了。</P>
<P><B> Java語言具備這種高移植性是一種必然,因為它的設計理念就是“一次編寫,到處運行”嘛。</B></P>
<P><B> 3.“面向對象”</B></P>
<P> 可以這么說,“面向對象”是軟件工程學的一次革命,大大提升了人類的軟件開發(fā)能力,是一個偉大的進步,是軟件發(fā)展的一個重大的理程碑。</P>
<P> 在過去的30年間,“面向對象”有了長足的發(fā)展,充分體現(xiàn)了其價值,到現(xiàn)在已經(jīng)形成了“面向對象的系統(tǒng)分析”、“面向對象的系統(tǒng)設計”、“面向對象的程序設計”一個體系。所以做為一個現(xiàn)代編程語言,是不能夠偏離這一方向的,Java語言也不例外。</P>
<P><B> 注意:</B></P>
<P> Java語言被喻為比C++還“面向對象”的程序設計語言,不理解“面向對象”的思想就難以很好地運用Java語言,不熟悉這方面內容的讀者,可以好好閱讀本書的第二章。</P>
<P><B> 4.解釋型</B></P>
<P> 大家還記得Basic語言嗎?當我們使用Basic語言進行編程時,得先進入Basic語言環(huán)境,然后輸入源程序,再運行它,Basic語言環(huán)境一句句地解釋、運行,直接得出結果。這種語言就是解釋型語言。</P>
<P> 而象C/C++這樣的語言就不是這樣的了,我們先使用編輯軟件或集成開發(fā)環(huán)境(IDE)編寫源程序,然后對其進行編譯,生成可執(zhí)行文件。然后我們再通過操作系統(tǒng)執(zhí)行這個可執(zhí)行文件得到結果。這種語言就是編譯型語言。</P>
<P> 解釋型語言效率低,速度慢;編譯型語言效率高,速度快。</P>
<P> Java語言是一種解釋型語言。對,沒看錯,它是一種解釋型語言,也就是說,相對于C/C++語言來說,Java語言寫出來的程序效率低,執(zhí)行速度慢。但它正是通過在不同平臺上運行Java解釋器,對Java代碼進行解釋,來實現(xiàn)“一次編寫,到處運行”的宏偉目標的。為了達到目標,犧牲效率還是值得的,再說,現(xiàn)在的計算機技術日新月異,運算速度也越來越快,用戶不會感到太慢的。</P>
<P><B> 一些提示:</B></P>
<P> 其實Java語言并不是象Basic語言那樣完全的解釋性,它是一種解釋型與編譯
型的折中。使用Java語言編寫程序,首先用編輯軟件或集成開發(fā)環(huán)境(IDE)編寫源程序,然后使用Java編譯器進行一次偽編譯,將其編譯成為中間碼(也稱字節(jié)碼)。然后再使用Java解釋器進行解釋。</P>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -