Java HotSpot™虛擬機實現Sun Microsystems公司的高性能虛擬機的Java平臺, 平臺的應用環境從頭到如今,依然有不少的應用存在: 從信用卡到無線設備,桌面到大型機等小程序
Java HotSpot VM基於Java技術的跨平臺支持和安全模型,具備可擴展性,質量和性能的新特性和功能。 除了新功能外,此版本還與之前的版本向上兼容設計模式
Java HotSpot VM支持企業應用程序的開發,部署和管理的全部方面,而且用於:安全
目前的話,IntelliJ IDEA工具仍是比較火的,一樣知足需求的請求下,coder們也追求快感和美感服務器
Sun Microsystems公司也經過使用各類行業標準和內部開發的基準測試性能的改進, 這些改進適用於客戶端和服務器端Java VM環境多線程
Java標準版平臺包含了Java虛擬機的兩個實現:架構
Java HotSpot虛擬機是Sun用於Java平臺的VM。 它使用許多先進技術爲Java應用程序提供最佳性能,包括最早進的內存模型,垃圾收集器和自適應優化器。 它以高級,面向對象的風格編寫,並具備如下特色:工具
統一對象模型性能
解釋,編譯和本地幀都使用相同的堆棧學習
基於本地線程的搶佔式多線程測試
高效的垃圾回收機制
超快速線程同步
動態的優化和快速的編譯器優化
在VM啓動時生成的系統特定的運行時程序
支持並行編譯的編譯器接口
運行時分析只關注"熱"方法的編譯工做
JDK包括兩種VM - 一種是客戶端產品,另外一種是針對服務器應用程序調整的VM。 這兩個解決方案共享Java HotSpot運行時環境代碼庫,但使用適合客戶端和服務器獨特性能特徵的不一樣編譯器。 這些差別包括編譯內聯策略和堆默認值
JDK在發行版中包含這兩個系統,所以咱們能夠經過指定-client或-server來選擇想要的系統
用了這麼久的JDK,尷尬,才知道,另外發現大多數的系統層級或載體組件,都有着相同,或者說相似的架構設計模式
雖然服務器和客戶端虛擬機相似,但服務器虛擬機已通過專門調整,以最大限度地提升峯值運行速度。 它旨在執行長時間運行的服務器應用程序,這些應用程序須要儘量快的運行速度,而不是快速啓動時間或較小的運行時內存佔用
客戶端VM編譯器用做經典VM和先前版本的JDK使用的實時(JIT)編譯器的升級。 客戶端VM爲應用程序和小程序提供了改進的運行時性能。 Java HotSpot客戶端VM通過專門調整,可縮短應用程序啓動時間和內存佔用,使其特別適合客戶端環境。 一般,客戶端系統更適合GUI
Client VM編譯器不會嘗試執行服務器VM中編譯器執行的許多更復雜的優化,但做爲交換,它須要更少的時間來分析和編譯一段代碼。 這意味着客戶端VM能夠更快地啓動而且須要更小的內存佔用
Server VM包含一個高級自適應編譯器,它支持經過優化C++編譯器執行的許多相同類型的優化,以及傳統編譯器沒法完成的一些優化,例如跨虛擬方法調用的積極內聯。 與靜態編譯器相比,這是一種競爭優點和性能優點。 自適應優化技術的方法很是靈活,一般甚至優於高級靜態分析和編譯技術
這兩種解決方案都可提供極其可靠,安全且可維護的環境,以知足的需求
粗略的VM架構認識就到這裏,繼續學習 Memory Model--內存模型
----------------------------------------------------------------