世界上並無完美的程序,但咱們並不所以而沮喪,由於寫程序原本就是一個不斷追求完美的過程。java
Java的優勢:安全
(1)依次編寫,多處運行服務器
(2)提供了相對安全的內存管理和訪問機制,避免了絕大部分的內存泄露和指針越界問題併發
(3)實現了熱點代碼檢測和運行時編譯及優化,這使得Java應用能隨着運行時間的增長得到更高的性能框架
(4)有一套完善的應用程序接口,還有無數來自商業機構和開源社區的第三方類庫來幫助它實現各類各樣的功能模塊化
Java技術體系:性能
(1)Java程序設計語言優化
(2)各類硬件平臺上的Java虛擬機ui
(3)Class文件格式spa
(4)Java API類庫
(5)來自商業機構和開源社區的第三方Java類庫
Java虛擬機發展:
(1)Sun Classic VM:第一款商用Java虛擬機,只能使用純解釋器方式來執行Java代碼,外掛JIT編譯器後,JIT將徹底接管虛擬機的執行系統,解釋器便不會再工做了
(2)Exact VM:JDK1.2時,曾在Solaris平臺上發不過一款名爲Exact VM的虛擬機
(3)HotSpot VM:在JDK1.2是,Classic VM與HotSpot VM並存,可是默認使用Classic VM,而在JDK1.3時,HotSpot VM是默認虛擬機,Classic VM備用,直到JDK1.4 Classic VM才徹底退出商用虛擬機的歷史舞臺,與Exact VM一塊兒進入了Sun Labs Research VM中。
高性能Java虛擬機通常指Sun HotSpot、BEA JRockit、 IBM J9 VM,JRockit VM曾經號稱「世界上速度最快的Java虛擬機」,是一款專門爲服務器硬件和服務器端應用場景高度優化的襲擊,因爲專一於服務器端應用,它不太關注程序啓動速度,所以JRockit內部不包含解析器的實現,所有代碼都靠即時編譯器表之後執行,同時JRockit的垃圾收集器和MissionControl服務套件等部分實現,都是領先地位;其實Azul VM和BEA Liquid VM這類特定硬件平臺轉悠的虛擬機纔是「高性能」虛擬機。
展望Java技術的將來:
(1)模塊化
將來的Java平臺中,極可能會對模塊化提出語法層面的支持
(2)混合語言
當單一的Java開發已經沒法瞞住當前軟件複雜需求時,愈來愈多基於Java虛擬機的語言開發被應用到軟件項目中,如:Scala、Groovy、Clojure、JRuby/Rails
(3)多核並行
早在JDK1.5就已經引入java.util.concurrent包實現了一個粗粒度的併發框架,而在JDK1.7中加入了java.util.concurrent.forkjoin包是對這個框架的一次重要擴充。
(4)進一步豐富語法
java 5曾對Java語法進行了一次擴充,加入了自動裝箱、泛型、動態註解、枚舉、可變長參數、for-each遍歷等
(5)64位虛擬機