(事先聲明:該文章并非完全是我自己的產出,更多的是我個人在看到資料后通過理解并記錄下來,作為自己閱讀后的一個筆記;我現在試圖對自己多年工作中的知識點做一個回顧,希望能融會貫通)
(此文參考<Java核心技術36講>第一講)
對Java平臺的理解
Java平臺分成J2ME(Java 2 Micro Eidtion), J2SE, J2EE。分別對應于不同的應用場景: J2ME主要用于移動平臺;J2SE用于桌面應用:如算法交易引擎;J2EE應用于企業平臺的建設,比J2SE多了更的組件: 如:servlet, jme, ejb等組件,更多的用于分布式企業應用。
?
普遍來說, Java是面向對象語言,主要特點是:跨平臺運行;垃圾回收;日常使用到的有JRE?和JDK。JRE是指java運行時環境,包含java類庫和jvm,以及一些必要的組件,有JRE就可以運行一個java程序。 JDK是指java開發套件,它包含了JRE,編譯器和各種診斷工具。
Java的解釋執行:?編寫的java源代碼,通過編譯器javac編譯成字節碼,然后在運行時,由JVM內嵌的解釋器將字節碼進行轉成本地機器指令。但大多數JVM(包括Oracle JDK提供的),都提供了JIT編譯器(動態編譯器)-- 在運行時將熱點代碼編譯成本地機器碼,這種情況下這些熱點代碼就是編譯執行了。
嚴格來說,許多語言都有跨平臺運行的能力,但Java相對來說比較成熟。程序從源代碼到運行的三個階段:編碼 -?編譯 -?運行。java的的代碼首先會被編譯成.class文件,然后再于不同平臺上的JVM加載并把該.class文件編譯成本地目標機器代碼 -?這也是為什么java能跨平臺運行的基礎。
編寫一次到處運行是指在程序編寫好時,并不需要考慮不同平臺的運行:如使用C/C++編寫程序時,有時需要考慮到不同平臺的系統接口不同。
?
Java語言的特性
語言:?面向對象;泛型;Lambda;
基礎類庫:集合 ; IO / NIO;?并發;網絡;安全
?