淘寶第一版是用php寫的,后來全面遷移到java,只有非常小的一部分還是php,java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點的語言。
java語言是簡單的:
java語言的語法與c語言和c 語言很接近,使得大多數程序員很容易學習和使用。另一方面,java丟棄了c 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,java語言不使用指針,而是引用。并提供了自動的廢料收集,使得程序員不必為內存管理而擔憂。
java語言是面向對象的:
java語言提供類、接口和繼承等面向對象的特性,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機制(關鍵字為implements)。java語言全面支持動態綁定,而c 語言只對虛函數使用動態綁定。總之,java語言是一個純的面向對象程序設計語言。
java語言是分布式的:
java語言支持internet應用的開發,在基本的java應用編程接口中有一個網絡應用編程接口(java net),它提供了用于網絡應用編程的類庫,包括url、urlconnection、socket、serversocket等。java的rmi(遠程方法激活)機制也是開發分布式應用的重要手段。
java語言是健壯的:
java的強類型機制、異常處理、垃圾的自動收集等是java程序健壯性的重要保證。對指針的丟棄是java的明智選擇。java的安全檢查機制使得java更具健壯性。
java語言是安全的:
java通常被用在網絡環境中,為此,java提供了一個安全機制以防惡意代碼的攻擊。除了java語言具有的許多安全特性以外,java對通過網絡下載的類具有一個安全防范機制(類classloader),如分配不同的名字空間以防替代本地的同名類、字節代碼檢查,并提供安全管理機制(類securitymanager)讓java應用設置安全哨兵。
java語言是體系結構中立的:
java程序(后綴為java的文件)在java平臺上被編譯為體系結構中立的字節碼格式(后綴為class的文件),然后可以在實現這個java平臺的任何系統中運行。這種途徑適合于異構的網絡環境和軟件的分發。
java語言是可移植的:
這種可移植性來源于體系結構中立性,另外,java還嚴格規定了各個基本數據類型的長度。java系統本身也具有很強的可移植性,java編譯器是用java實現的,java的運行環境是用ansi c實現的。
java語言是解釋型的:
如前所述,java程序在java平臺上被編譯為字節碼格式,然后可以在實現這個java平臺的任何系統中運行。在運行時,java平臺中的java解釋器對這些字節碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。
java是高性能的:
與那些解釋型的高級腳本語言相比,java的確是高性能的。事實上,java的運行速度隨著jit(just-in-time)編譯器技術的發展越來越接近于c 。
java語言是多線程的:
在java語言中,線程是一種特殊的對象,它必須由thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為thread(runnable)的構造子類將一個實現了runnable接口的對象包裝成一個線程,其二,從thread類派生出子類并重寫run方法,使用該子類創建的對象即為線程。值得注意的是thread類已經實現了runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。java語言支持多個線程的同時執行,并提供多線程之間的同步機制(關鍵字為synchronized)。
java語言是動態的:
java語言的設計目標之一是適應于動態變化的環境。java程序需要的類能夠動態地被載入到運行環境,也可以通過網絡來載入所需要的類。這也有利于軟件的升級。另外,java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
推薦教程:《php》《java》
買云服務器可以掙錢嗎云服務器怎么訪問本機服務器云服務器vps哪個便宜企業級云服務器多少錢一臺經濟型云服務器租用報價縮水U盤怎么恢復正常?縮水U盤恢復真實容量的方法美國1g內存高防云服務器北京ecs云服務器備案流程