第一章是對java的產生,歷史的總體介紹
java的使用很普遍,安裝jdk的時候會看到一句廣告語runs in 10 billions machines
。使用java的設備多達幾十億臺java
完善的應用接口,還有無數來自商業機構和開源社區的第三方類庫來幫助他實現各類功能
。。。程序員
儘管java有這麼多優勢,相對於其餘語言,使用上簡單了不少。可是做爲一名java程序員,想到在此方面有更高的造詣,仍是要思考「程序這樣寫好很差」,所以就須要多java的運行環境--java虛擬機有必定的瞭解,這樣才能上升到
不惑
的境界、算法
sun官方定義的java技術體系包括如下幾個組成部分
1. java程序設計語言
2. 各類硬件平臺上的java虛擬機
3. class文件格式
4. java api類庫
5. 來自商業機構和開源社區的第三方java類庫小程序
咱們能夠把1
,2
,4
這三部分統稱爲jdk(java development kit),jdk是用於支持java程序開發的最小環境
另外,能夠把java api類庫中的java SE API子集和java虛擬機加這兩部分同城爲jre(java runtime environment),jre是支持java程序運行的標準環境
java技術體系能夠分爲4個平臺api
java誕生在1996
年,1月23日,jdk1.0發佈。jdk1.0提供了一個純解釋執行的java虛擬機實現Sun Classic VM
。jdk1.0版本的表明技術包括java虛擬機,applet,awt等
1996年末,sun公司在美國舊金山舉行了首屆javaOne大會,今後JavaOne成爲全世界數百萬java開發者每一年一度的技術盛會(我咋不知道呢)
1997年,sun公司發佈了jdk1.1,技術表明有jar文件格式、jdbc、javabeans、RMI(啥?),支持內部類(Inner Class)和反射(Reflection)
1998年,sun公司發佈了里程碑版本1.2,工程代號playground(競技場),java技術體系分爲三個部分:j2se,j2me,j2ee。出現了EJB,java plug-in,Java IDL、Swing等。這個版本第一次內置了JIT(just in time)編譯器。在語言和API級別上,java添加了strictfp
關鍵字(不知道是啥)和如今java編碼中經常使用的一些類Collections集合類。
1999年4月27日,HotSpot虛擬機(熟悉的名字)發佈,它最初是由一家名爲Longview Technologies
的小公司開發,由於表現優異,在97年被sun收購。後來它成爲了jdk1.3以後全部版本的sun jdk的默認虛擬機
中間連續發佈了一些版本,但都沒什麼大的特性
2004年9月30日,1.5發佈。改進很是大:自動裝箱、泛型、動態註解、枚舉、可變長參數、遍歷循環等語法特性,提供了concurrent併發包
2006年12月11日,1.6對虛擬機內部作了大量改進,包括鎖與同步、垃圾收集、類加載方面的算法
2006年11月13日的javaone大會上,sun公司宣佈最終會將java開源,創建了OpenJDK
組織對這些源碼進行獨立管理。除了少許的產權代碼外,OpenJDK幾乎包括了SunJDK的所有代碼。
2011年7月28日,1.7發佈提供了G1收集器,增強對非java語言的調用
2009年4月20日。oracle公司74億美圓收購了sun公司,此前oracl'e公司已經收購了另一家大型中間件企業BEA公司,自此,oracle公司擁有了三大商業虛擬機中的其中兩個jRockit
和HotSpot
(另一個時IBM的J9 VM
)安全
書中提供了怎樣本身編譯OpenJDK的樣例,放着,先看後面的內容
吐槽一下,博客園的markdown編輯器不友好啊,都沒有
edit and view
視圖markdown