本文目錄一覽:
- 1、什麼是“Java解釋器”?
- 2、java解釋器什麼意思
- 3、Java編譯器,解釋器,JVM的關係和定義
- 4、什麼命令是java語言的解釋器?
- 5、Java編譯器、解釋器分別是什麼命令,舉例說明如何使用。
- 6、Java虛擬機,Java解釋器到底是什麼?兩者關係是什麼?
什麼是“Java解釋器”?
java程序的代碼屬於中間代碼 並不是可執行程序exe 所以需要有一個東西來解釋執行中間代碼 這就是java解釋器 也就是大家說的java虛擬機(jvm),也叫jdk
java解釋器什麼意思
應該說“java解釋器就是把在java虛擬機上運行的目標代碼(字節碼)解釋成為具體平台的機器碼的程序。”即jdk或jre目錄下bin目錄中的java.exe文件,而javac.exe是編譯器。
運行java程序的過程是先用javac編譯,然後用java解釋。而一經編譯成功後,就可以直接用java.exe隨處解釋運行了。
Java編譯器,解釋器,JVM的關係和定義
java編譯器
java語言寫的源程序通過java編譯器,編譯成與平台無關的‘字節碼程序’(.class文件,也就是0,1二進制程序),然後在os之上的java解釋器中解釋執行。
也相當與
註:jvm(java虛擬機)包括解釋器,不同的jdk虛擬機是相同的,解釋器不同。
jvm-java虛擬機
.jvm:是java的核心和基礎,在java編譯器和os平台之間的虛擬處理器。它是一種利用軟件方法實現的抽象的計算機基於下層的操作系統和硬件平台,可以在上面執行java的字節碼程序。
java編譯器只要面向jvm,生成jvm能理解的代碼或字節碼文件。java源文件經編譯成字節碼程序,通過jvm將每一條指令翻譯成不同平台機器碼,通過特定平台運行。
jvm執行程序的過程:
i.加載。class文件
ii.管理並分配內存
iii.執行垃圾收集
jre(java運行時環境)由jvm構造的java程序的運行環境
編譯時
運行時
什麼命令是java語言的解釋器?
Java解釋器可用來直接解釋執行Java字節代碼,具體命令行格式如下:
C:\java options className
argumentsclassName必須包括所有軟件包信息。不僅有類名本身,還有Java 解釋器所期望的類名(不是Java字節代碼的文件名),所有在解釋器環境下運行的類都必須包括解釋器第一次調用時所需的main成員函數,用以傳遞命令所帶的變量。public static void main(string args[]){ ……}
下面Java解釋器的所有選項。-cs -checksource 此選項讓解釋器重編譯Java源文件已更新的類–重編譯已改變過了的類。-classpath path 此選項重寫CLASSPATH環境變量,告訴Java在哪裡能找到類庫。如果其中用冒號分開,則可能包含多個目錄。 -mx x 此選項設置內存分配池的最大值。所指定的池必須大於1,000字節。
另外“K”,“M”可附加在數字上指定是千字節還是兆字節。缺省值是16MB。 -ms x 此選項設置內存分配池的最小值。所指寂的池必須大於1,000字節。
另外,“K”,“M”可加在數字上指定的是千字節還是兆字節。缺省值是1MB。-noasyncgc 此選項關閉異步無用單元收集功能,只有在程序中調用它或內存溢出的時候,無用單元收集才會被激活。
-ss x 此選項將C線程棧的最大值設置為x , x 必須大於1KB,其設定方式同 -ms。 -oss x 此選項設定Java堆棧最大值為x。
-v,-verbose 此選項告知Java每當類被調用之時, 向標準輸出設備輸出信息。 -verify 此選項告知Java在所有代碼上使用校驗。-verifyremote 此選項告知Java 僅僅對類載入器所載入的類進行校驗。-noverify 此選項告知Java不進行校驗。 -verbosegc 此選項告知Java讓無用單元收集器在它釋放內存時顯示一條信息。 -t 此選項在Java-g解釋器中是可用的,並把執行的情況逐條打印出來。 -debug 此選項允許Java調試器與本次Java 解釋器會話相聯接。它運行時,Java會顯示一個密碼,用於啟動這次調試會話
-D propName=newVal 此選項允許用戶在運行時改變屬性值
Java編譯器、解釋器分別是什麼命令,舉例說明如何使用。
javac 編譯器 用於將java源代碼文件編譯成字節碼.
語法: javac [option] source
java 解釋器 用於執行java字節碼
語法: java [option] classname
使用實例如下:
Java虛擬機,Java解釋器到底是什麼?兩者關係是什麼?
Java是先編譯成字節碼再執行。Java虛擬機就是字節碼運行的環境,通過Java虛擬機可以實現平台無關性,而Java解釋器是將字節碼解釋為操作系統可以理解的原語執行。
Java解釋器是虛擬機的實現。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/191085.html
微信掃一掃
支付寶掃一掃