官术网_书友最值得收藏!

1.1 Java語言簡介

Java是一種跨平臺的面向對象語言,由Sun公司于1995年推出,自問世以來受到越來越多開發者的喜愛。在Java語言出現以前,很難想象在Windows環境下編寫的程序可以不加修改就在Linux系統中運行,因為計算機硬件只識別機器指令,而不同操作系統中的機器指令是不同的。所以,要把一種平臺下的程序遷移到另一個平臺,必須要針對目標平臺進行修改,如果想要程序運行在不同的操作系統,就要求程序設計語言能夠跨平臺,可以跨越不同的硬件、軟件環境,而Java語言就能夠滿足這種要求。

Java語言的目標就是為了滿足在復雜的網絡環境中開發軟件。在這種復雜的網絡環境中,充滿著各種各樣的硬件平臺和不同的軟件環境,而Java語言就是針對這種復雜的平臺環境設計的。使用Java語言,可以開發出適應這種復雜網絡環境的應用系統。

1.1.1 Java語言概述

Java是一種優秀的面向對象語言,其有著健壯的安全性設計。Java的結構是中立的,可以移植到不同的系統平臺。優秀的多線程設計也是Java語言的一大特色。但是Java語言的最大優勢還是其對多種操作系統平臺的支持,這種特性是其他編程語言所無法比擬的。

Java最初是Sun公司為消費電子產品設計的一種通用環境,最初的目的是開發一種與平臺無關的編程語言。這種技術在開始的時候并沒有太大的用武之地,在網絡出現以后,由于網絡軟硬件環境的復雜性,常見的編程語言逐漸不能適應這種環境的要求,而Java語言平臺無關性的特性正好適應了網絡的這個潮流。所以Java語言在網絡出現以后得到突飛猛進的發展。

目前,Java語言最大的用途就是Web應用的開發,使用Java語言可以不用考慮系統平臺的差異,在一種系統下開發的應用系統,可以不加任何修改就能運行在另一種不同的系統中。例如在目前的Web應用開發中,很多用戶會選擇使用Linux或者是UNIX作為服務器環境,而開發人員一般情況下會選擇在Windows平臺下開發,因為在Windows平臺中,開發環境的效率要相對高些。在這種情況下,就可以使用Java語言,由于Java語言是跨平臺的,所以在Windows中開發出的系統,可以直接部署在Linux或者是UNIX的服務器系統中,這就是使用Java語言的便利之處。

1.1.2 Java語言的特性和優勢

在目前的軟件開發中,尤其是應用系統的開發中,Java語言成為大部分開發人員的首選,經常會有用戶自己提出要使用Java語言進行開發,可見Java語言的發展已經深入人心。Java語言之所以如此受歡迎,是由其自身的優點決定的。以下簡單介紹Java語言的特性。

(1)平臺無關性

平臺無關性是Java語言最大的優勢。在Java中,并不是直接把源文件編譯成硬件可以識別的機器指令,Java的編譯器把Java源代碼編譯為字節碼文件,這種字節碼文件就是編譯Java源程序時得到的class類文件。Java語言的跨平臺主要是指字節碼文件可以在任何軟硬件平臺上運行,而執行這種類文件的就是Java虛擬機。Java虛擬機是軟件模擬出的計算機,可以執行編譯Java源文件得到的中間碼文件,而各種平臺的差異就是由Java虛擬機來處理的,由Java虛擬機把中間碼文件解釋成目標平臺可以識別的機器指令,從而實現了在各種平臺中運行Java程序的目的。Java語言中針對不同的平臺環境提供了不同的Java虛擬機,例如在Sun的官方網站中就提供了Windows、Linux和Solaris等各種版本Java虛擬機的下載。

(2)安全性

在C/C++中,指針的使用是一個高級話題,如果熟練掌握指針可以給程序的開發帶來很大的方便。但是如果指針使用不當,就有可能帶來系統資源泄漏,更嚴重的是錯誤的指針操作有可能非法訪問系統文件的地址空間,從而給系統帶來災難性的破壞。所以在C/C++中,使用指針的時候需要非常小心。

Java語言放棄了指針操作,在Java中沒有顯式提供指針的操作,不提供對存儲器空間直接訪問的方法,所有的存取過程都由Java語言自身來處理,這樣就可以保證系統的地址空間不會被有意或者無意破壞。而且經過這樣的處理,也可以避免系統資源的泄漏,例如在C/C++中,如果指針不及時釋放,就會占用系統內存空間,大量的指針不及時釋放就有可能耗盡可用的內存空間。在Java中就不用擔心這樣的問題,Java提供了一套有效的資源回收策略,會自動回收不再使用的系統資源,從而保證了系統的安全性和穩定性。

另外,Java虛擬機在運行字節碼文件的時候,會把Java程序的代碼和數據限制在具體的內存空間內,不允許Java程序訪問指定內存地址之外的空間。這樣就可以保證Java程序不會破壞系統的內存空間,從而保證系統的安全性。

(3)面向對象

面向對象是現在軟件開發中的主流技術,Java同樣吸取了各種面向對象語言的優點,從而更加徹底地實現了面向對象的技術。在Java程序中,基本所有的操作都是在對象的基礎上實現的。為了實現模塊化和信息的隱藏,Java語言采用了功能代碼封裝的處理,Java語言對繼承性的實現使功能代碼可以重復利用,用戶可以把具體的功能代碼封裝成自定義的類,從而實現對代碼的重用。

C++是一種經典的面向對象的語言,Java語言繼承了C++中面向對象的理論,但是簡化了這種面向對象的技術,去掉了一些復雜的技術,例如多繼承、運算符的重載等功能。經過這樣的處理,Java中的面向對象技術變得簡單、容易掌握,同時保留著面向對象中核心的技術,可以使用戶方便地享受面向對象技術帶來的便利。

(4)異常處理

在Java中提供異常處理的策略。在Java程序的開發中,可以對各種異常和錯誤進行處理。這些錯誤包括程序在編譯和運行階段的錯誤和異常,例如空指針異常、數組越界異常、類型錯誤等。Java中的異常處理可以幫助用戶定位、處理各種錯誤,從而大大縮短了Java應用程序的開發周期。而且,這種異常策略,可以捕捉到程序中的所有異常,針對不同的異常,用戶可以采取具體的處理方法,從而保證了應用程序在用戶的控制下運行,因此也保證了程序的穩定和健壯。

1.1.3 Java語言的發展現狀

Java語言并不是為網絡環境設計的,用戶可以使用Java語言來編寫獨立的桌面應用程序。在桌面應用程序這個領域,Java已經被各大廠商接受,例如Oracle數據庫、Borland的JBuilder開發環境、Eclipse開發環境等工具都是使用Java語言編寫的。這些軟件產品的性能都是非常優秀的,可見使用Java同樣可以編寫出功能強大的應用軟件。而且,如果用戶需要開發跨平臺運行的軟件,Java就成了唯一的選擇,跨平臺的需要也是各大廠商選擇使用Java開發桌面應用程序的原因之一。

雖然說Java語言并不是為網絡環境設計的,但是Java語言目前還是主要被用于網絡環境中,尤其是在服務器端的程序設計中,Java語言的地位是其他動態語言所無法替代的。在B/S開發結構盛行的今天,Java語言的地位更是舉足輕重。例如,目前各種信息管理系統都采用B/S進行開發,在J2EE中,提供了優秀的B/S應用程序的解決方案。再加上Java語言跨平臺、簡單易用等特性,用戶自然會選擇Java語言進行開發。事實上,在服務器端的程序開發中,Java所占的比例份額是占絕對優勢的。

1.1.4 Java語言的發展前景

隨著網絡技術的急速發展,Java語言必然會取得更大的發展,在這個復雜的網絡環境中,Java語言有著廣闊的前景。例如在如下幾種開發需求中,Java語言都有著很大的發展前景。

(1)跨平臺的應用軟件開發

隨著Linux、UNIX等操作系統逐漸被用戶接受,Windows的地位正面臨著巨大的挑戰,同時各大軟件廠商也必須應對這樣的變化。在這種情況下,需要兼顧各種操作系統用戶的需要,當然可以選擇針對不同操作系統開發出不同的軟件版本。但是如果軟件產品的規模超大,這樣的做法就不太合適,這時候就需要用到Java。雖然桌面應用軟件的開發不是Java的強項,但是Java語言跨平臺的特性彌補了在這方面的不足。軟件廠商采用Java語言進行開發,只需要開發一個版本就可以運行在不同的操作系統環境中,這就大大降低了重復開發的成本和時間。

所以,Java語言在跨平臺應用軟件開發領域的前景還是非常廣闊的。

(2)企業信息化解決方案

企業信息化是目前的一大潮流,而且在目前的信息化解決方案中,基本上采用的都是B/S架構,這樣的架構不僅方便應用程序的部署,而且節省了界面程序開發的成本。在客戶端只需要一個瀏覽器即可,所有的功能代碼都在服務器端實現。

J2EE是Java的企業版本,是Sun公司針對企業信息化提出的一套技術解決方案。使用這些技術,可以非常方便地實現企業信息化的需求,而且在近幾年中,J2EE正以飛快的速度向前發展,相信在未來幾年中,Java在企業信息化建設中會占到更大的比重。

(3)嵌入設備

J2ME是Java針對嵌入設備(例如手機)設計的。在J2ME出現之前,在嵌入設備中編程只能選擇C/C++,這樣底層的編程是相當復雜的。當J2ME技術問世以后,就可以使Java語言十分方便地開發嵌入設備中的應用軟件。目前,J2ME在手機中使用得比較多,各大手機廠商推出的手機產品中基本都會內置支持Java的功能。所以,J2ME的使用也會越來越廣泛。

Java語言不斷地在發展和完善,現在各大廠商都在努力推動Java技術的發展。在這些廠商中間,Sun、IBM、Sybase等做得都相當出色,而且在Java領域中,還有開源力量的支持,例如Apache、JBoss等,這些開發力量給Java的發展帶來巨大的推動作用,很多優秀的Java框架都是由這些開源力量開發維護的。

在各方面力量的努力下,Java語言會越來越趨于完美,使用Java開發會給用戶帶來更大的樂趣和更高的效率。

主站蜘蛛池模板: 石泉县| 林州市| 横山县| 措勤县| 吉水县| 商丘市| 修水县| 中方县| 黄山市| 江城| 腾冲县| 东莞市| 遵义县| 大化| 双流县| 海丰县| 霍山县| 惠水县| 临泉县| 邵东县| 子长县| 漳州市| 南皮县| 犍为县| 文山县| 瑞金市| 镇巴县| 航空| 铅山县| 峨眉山市| 辽源市| 海丰县| 双峰县| 左贡县| 黄陵县| 乌审旗| 龙游县| 台前县| 兴海县| 武宣县| 勐海县|