走進Java,jdk,jre,虛擬機簡介

1,java的優點

  擺脫了平臺的束縛;實現了“一次編寫,到處運行”的理想;提供了一個相對安全的內存管理和訪問機制;避免了絕大部分的內存泄漏和指針越界問題;實現了熱點代碼測 和運行時編譯及優化;有一套完善的應用程序接口,還有無數來自商業機構和開源社區的第三方類庫來幫助它實現各種各樣的功能...

2,jdk和jre的範圍

以上是根據各個組成部分的功能來劃分的,如果按照技術所服務的領域來劃分,或者說按照Java技術關注的重點業務領域來劃分,Java技術體系可以分爲四個平臺,分別爲:

Java Card:支持一些Java小程序(Applets)運行在小內存設備(如智能卡)上的平臺。

Java ME(Micro Edition):支持Java程序運行在移動終端(手機,PDA)上的平臺,對Java API有所精簡,並加入了針對移動終端的支持,這個版本以前稱爲J2ME。

Java SE(Standard Editjion):支持面向桌面級應用(如windows下的應用程序)的Java平臺,提供了完整的Java核心API,這個版本以前也稱爲J2SE。

Java EE(Enterprise Edition):支持使用多層架構的企業應用(如ERP,CRM)的Java平臺,除了提供Java SE API外,還對其做了大量的擴充並提供了相關的部署支    持,這個版本以前稱爲J2EE。

3,java發展史

1995年5月23日,Oak語言正式改名爲Java------Java第一次提出"Write Once,Run Anywhere"口號

1996年1月23日,JDK1.0發佈-------純解釋執行的java虛擬機實現

1997219,JDK1.1發佈--------技術代表:JAR文件格式,JDBC,JavaBeans,RMI。Java語言:內部類(inner class),反射(Relection)

1998124,JDK1.2發佈,代號Playground,Sun在這個版本中將Java體系分爲3個方向:J2SE,J2EE,J2ME-----技術:EJB,Java Plug-in,Java IDL,Swing,第一次內置了JIT編譯器

2000年5月8日,JDK1.3發佈-----對Java-2D該進,添加了JavaSound類庫

2002年2月13日,JDK1.4發佈-------正則表達式,異常鏈,NIO,日誌類,XML解析器,XSLT轉換器

2004930,JDK1.5發佈--------自動裝箱,泛型,動態註解,枚舉,可變長參數,遍歷循環(foreach)

20061211,JDK1.6發佈------終結了J2EE,J2SE,J2ME的命名方式,啓用JavaSE6,JavaEE6,JavaME6的命名方式,提供動態語言支持,提供編譯API和微型HTTP服務器API等,語言:鎖與同步,垃圾收集,類加載大量改進

2009年2月19日,JDK1.7---------新的G1垃圾收集器,加強對非java語言的調用支持(JSR-292),升級類加載架構

2013年9月,JDK1.8----函數庫,Lambda表達式


4,java虛擬機發展史

Sun Classic / Exact VM

Sun HotSpot VM :是Sun JDk和Open JDK中所帶的虛擬機

Sun Mobile-Embedded VM / Meta-Circular VM

BEA JRockit / IBM J9 VM :J9不是IBM唯一的Java虛擬機,不過是其主力發展的Java虛擬機,J9的開發目的是作爲IBM公司各種Java產品的執行平臺,主要是和IBM產品(如IBM WebSphere等)搭配以及在IBM AIX和z/OS這些平臺上部署應用

其他

5,64位虛擬機

Java程序運行在64位虛擬機需要付出比較大的額外代價:首先是內存問題,由於指針膨脹和各種數據類型對齊補白的原因,通常要比32位系統額外增加10%-30%的內存消耗,多個機構的測試結果顯示,64位虛擬機運行速度與32位大約有15%左右的性能差距。虛擬機對64位的支持正在進一步完善。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章