即使Java程序也可能有錯誤。如果出現(xiàn)某種出乎意料之事,程序不會崩潰,而把該例外拋棄。程序會發(fā)現(xiàn)這類例外,并加以處理。下面來介紹Java語言的特色
傳統(tǒng)的程序可以訪問計算機的全部內(nèi)存。程序可能(無意識地)修改內(nèi)存中的任何值,這就會造成問題。Java程序只能訪問內(nèi)存中允許它們訪問的那些部分,所以Java程序不可能修改不擬修改的值。
Java是小巧的
由于Java的設計是要在小的計算機上運行,作為一種編程語言來說其系統(tǒng)是相對較小的。它能有效地在4MB以上RAM的PC機上運行。Java翻譯器只占用幾百KB。這種翻譯器對Java的平臺無關性和可移植性是可靠的。
由于Java很小,它對內(nèi)存很小的計算機,如基于Java的PC機,以及電視機、烤箱、電話機及家用計算機等,是很理想的。
Java是多線程的
Java程序可以執(zhí)行一個以上的線程。比如,它可以在一個線程中完成某一耗時的計算,而其它線程與用戶進行交互對話。所以用戶不必停止工作,等待Java程序完成耗時的計算。
在多線程環(huán)境中的編程通常是困難的,因為許多東西可能同時出現(xiàn)。但是,Java提供了易于使用的同步特性,使編程更為方便。
Java線程通常被映射為實際的操作系統(tǒng)線程,只要底層操作系統(tǒng)支持這種映射。因此,用Java寫的應用程序可說是“MP熱”。這就是說,如果它們在多處理器機器上運行,它們更將表現(xiàn)不凡。
Java是可收集無用的存儲單元的
用C及C++寫軟件的編程人員必須仔細跟蹤所用的內(nèi)存塊。當一個塊不再使用時,他們務必讓程序釋放它,從而方可再用。在大的項目中,這可能很困難,并往往成為出錯和內(nèi)存不足的根源。
在Java的情況下,編程人員不必為內(nèi)存管理操心。Java系統(tǒng)有一個叫做“無用單元收集器”的內(nèi)置程序,它掃描內(nèi)存,并自動釋放那些不再使用的內(nèi)存塊。
Java是快速的
Java比典型的腳本語言大為有效,但它比C慢20倍。這對大多數(shù)應用是可接受的。
不久的將來,代碼生成器就可供利用了,這將使Java程序幾近于用C或C++編寫的程序那么快。
Java是安全的
Java程序沒有指針,而且象這樣的字節(jié)代碼程序強在類型上,所以在執(zhí)行之前它可能驗證Java程序。被驗證的Java程序得以保證不突破Java語言的任何限制,而且可以安全地執(zhí)行。Java字節(jié)代碼驗證被Web瀏覽器用來確保小程序不含病毒。
Java是可擴展的
Java程序可與用其它語言編寫的現(xiàn)存程序庫連接。由于Java數(shù)據(jù)結構與C的數(shù)據(jù)結構的類型極為相似,這是相當方便的。的問題在于,現(xiàn)有多線程程序庫為數(shù)不多。
Java程序可以聲明某些方法是內(nèi)部的,然后,把這些內(nèi)部方法映射成軟件庫所定義的功能,從而動態(tài)地鏈接到虛擬機。
傳統(tǒng)的程序可以訪問計算機的全部內(nèi)存。程序可能(無意識地)修改內(nèi)存中的任何值,這就會造成問題。Java程序只能訪問內(nèi)存中允許它們訪問的那些部分,所以Java程序不可能修改不擬修改的值。
Java是小巧的
由于Java的設計是要在小的計算機上運行,作為一種編程語言來說其系統(tǒng)是相對較小的。它能有效地在4MB以上RAM的PC機上運行。Java翻譯器只占用幾百KB。這種翻譯器對Java的平臺無關性和可移植性是可靠的。
由于Java很小,它對內(nèi)存很小的計算機,如基于Java的PC機,以及電視機、烤箱、電話機及家用計算機等,是很理想的。
Java是多線程的
Java程序可以執(zhí)行一個以上的線程。比如,它可以在一個線程中完成某一耗時的計算,而其它線程與用戶進行交互對話。所以用戶不必停止工作,等待Java程序完成耗時的計算。
在多線程環(huán)境中的編程通常是困難的,因為許多東西可能同時出現(xiàn)。但是,Java提供了易于使用的同步特性,使編程更為方便。
Java線程通常被映射為實際的操作系統(tǒng)線程,只要底層操作系統(tǒng)支持這種映射。因此,用Java寫的應用程序可說是“MP熱”。這就是說,如果它們在多處理器機器上運行,它們更將表現(xiàn)不凡。
Java是可收集無用的存儲單元的
用C及C++寫軟件的編程人員必須仔細跟蹤所用的內(nèi)存塊。當一個塊不再使用時,他們務必讓程序釋放它,從而方可再用。在大的項目中,這可能很困難,并往往成為出錯和內(nèi)存不足的根源。
在Java的情況下,編程人員不必為內(nèi)存管理操心。Java系統(tǒng)有一個叫做“無用單元收集器”的內(nèi)置程序,它掃描內(nèi)存,并自動釋放那些不再使用的內(nèi)存塊。
Java是快速的
Java比典型的腳本語言大為有效,但它比C慢20倍。這對大多數(shù)應用是可接受的。
不久的將來,代碼生成器就可供利用了,這將使Java程序幾近于用C或C++編寫的程序那么快。
Java是安全的
Java程序沒有指針,而且象這樣的字節(jié)代碼程序強在類型上,所以在執(zhí)行之前它可能驗證Java程序。被驗證的Java程序得以保證不突破Java語言的任何限制,而且可以安全地執(zhí)行。Java字節(jié)代碼驗證被Web瀏覽器用來確保小程序不含病毒。
Java是可擴展的
Java程序可與用其它語言編寫的現(xiàn)存程序庫連接。由于Java數(shù)據(jù)結構與C的數(shù)據(jù)結構的類型極為相似,這是相當方便的。的問題在于,現(xiàn)有多線程程序庫為數(shù)不多。
Java程序可以聲明某些方法是內(nèi)部的,然后,把這些內(nèi)部方法映射成軟件庫所定義的功能,從而動態(tài)地鏈接到虛擬機。