天天看點

深入了解java虛拟機第一章:走近java

本章主要講的是java語言的發展曆程,1996年才有的java(我94),09年4月,在jdk1.7剛出來兩個月sun公司到被orcal收購了。其中java開源後有個openJDK的組織管理這些源碼,openJDK和jdk1.7除了注釋不同,其它基本一樣。虛拟機從1.3開始預設使用hotSpot虛拟機,是一個小公司開發的,被sun公司看中了,然後就收購了這個,高手在民間啊這是,其它的也都不重要了。

jdk和jre的差別

jdk包括:java程式設計語言(估計說的就是代碼),api類庫(估計是那些jar包,javase裡提供了完整又核心的api),虛拟機;(開發用的)

jre包括: api類庫,虛拟機;(運作用的)

java個版本的技術代表:

jdk1.0:虛拟機、applet、awt

jdk1.1:jar檔案格式、JDBC、javaBeans、RMI,内部類、反射

jdk1.2:EJB、Java Plug-in、java IDL、swing,staticfp關鍵字、collections集合

jdk1.3:Timer API、JNDI、CORBA IIOP、java 2D、javaSound

jdk1.4:正規表達式、異常鍊、NIO、日志類、XML解析器、XLST解析器

jdk1.5:自動裝箱、泛型、動态注解、枚舉、可變長參數、foreach循環,記憶體模型、concurrent包

jdk1.6:動态語言支援、提供編譯api、微型http伺服器api,改進鎖和同步、垃圾收集、類加載等算法

jdk1.7:新的GI收集器、加強對非java語言的調用、語言級子產品兒化支援、更新類加載架構

未完成的項目:Lambda、jigSaw、coin

64位虛拟機

64位比32位運作要付出額外的代價,由于指針膨脹和資料類型對齊補白的原因,多消耗記憶體,性能下降。sun公司給出的應對是:普通對象指針壓縮、解釋器解釋位元組碼時會植入壓縮指令

最後是實戰:自己編譯JDK

我看了看步驟,然後心事重重地抽了支煙,仔細想想還是算了

把步驟記下來,沒準以後可以吹牛:window編譯jdk

1.下載下傳Cygwin,安裝,在windows環境模拟linux環境(什麼鬼??)

2.安裝c++編譯器

3.下載下傳FreeType,字型渲染庫

4.DirectX 9.0

5.MSVCR100.dll 配置到環境變量裡去

64位和32位是什麼鬼?記憶體又是什麼?位址總線資料總線?尋址?硬體如何存儲?電位?磁?0和1?幾個電燈泡?與和非?。。。。往下想真的太深了太深了