Java跨平台原理


 

001-Java跨平台原理

由源文件(.java)--->字節碼文件(.class)(二進制文件)-----> 解釋---->Unix,Win,Linux等機器。

1.一次編譯,到處運行

2.編譯器的作用:將源文件編譯成class文件

3.虛擬機的作用:將字節碼文件解釋成對應平台機器碼並執行。

4.java可以實現跨所有的平台?只有提供並且安裝了相對應的虛擬機就可以跨該平台。

5.虛擬機和解釋器的關系:解釋器是虛擬機的一個重要的組成部分。

6.Java語言的執行要經過編譯和解釋兩個階段。

 

C語言跨平台原理

由源文件(.c)--->編譯成相對應的機器碼---->Unix,Win,Linux

1.多次編譯,到處運行

2.C和Java哪個速度快?C語言是直接執行編碼,Java是先將class文件解釋成機器碼再執行。

 

002-Java的安全性

1.取消了指針

2.垃圾回收機制-------不需要程序員直接控制內存回收,避免了程序員忘記及時回收,導致內存泄漏,避免程序錯誤回收程序核心類庫對1內存,導致系統崩潰。

3.異常處理機制-----try,catch,finally,throw,throws五個關鍵字。

4.強制類型轉換:只有滿足強制類型轉換規則的情況下才能強制轉成功。

5.保證了底層安全性:Java在字節碼的傳輸過程中使用了公開密匙加密機制(PKC)

6.在運行環境提供了四級安全保障機制:字節碼校驗器---類裝載器---運行時內存布局--文件訪問限制。

 

003-Java三大版本

J2SE:數據庫連接,接口定義,輸入/輸出,網絡編程

J2EE:包含了J2SE中的類,還包括了servlet,JSP,XML,事務控制。

J2ME:包含了J2SE中部分類,用於消費電子產品的軟件開發。---------呼機,智能卡,手機,PDA,機頂盒。

J2SE包含於J2EE中,J2ME包含了J2SE的核心類,但新添加了一些專有類

應用場合,API的覆蓋范圍各不相同

 

 

 

004-什么是JVM?什么是JDK?什么是JRE?

JVM------Java Virtual Machine。JVM是Java平台的基礎,和實際的機器一樣,它也有自己的指令集,並且在運行時操作不同的內存區域,它相當於是一個獨立工作的機器,JVM的主要工作是解釋自己的指令集(即字節碼)到CPU的指令集或對應的系統調用,保護用戶免被惡意程序騷擾。 JVM對上層的Java源文件是不關心的,它關注的只是由源文件生成的類文件(.class文件)。

JRE----java runtime environment.光有JVM還不能讓class文件執行,因為在解釋class的時候JVM需要調用解釋所需要的類庫lib。在JDK的安裝目錄里你可以找到jre目錄,里面有兩個文件夾bin和lib,在這里可以認為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和lib和起來就稱為jre.

JDK---java development kit.

JDK的安裝目錄:

               bin: 最主要的是編譯器(javac.exe)

                include: java和JVM交互用的頭文件

                lib:類庫      

                jre: java運行環境 

 JDK是用於java程序的開發,而jre則是只能運行class而沒有編譯的功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM