Java解釋器的運行過程介紹
首先介紹一下Java解釋器的概念,Java解釋器:解釋器是Java虛擬機非常重要的一部分,它的工作就是把字節(jié)碼轉(zhuǎn)化為機器碼并在特定的平臺進行運行。簡單一點,java的解釋器只是一個基于虛擬機JVM平臺的程序 ,即jdk或jre目錄下bin目錄中的java.exe文件。 Java解釋器相當于運行Java字節(jié)碼的“CPU”,但該“CPU”不是通過硬件實現(xiàn)的,而是用軟件實現(xiàn)的。
- 步驟1:可以通過操作系統(tǒng)設(shè)置,也可不用設(shè)置,一般編譯環(huán)境會為你設(shè)置,其中CLASSPATH包含一個或多個目錄,用來查找.class文件的根目錄。
- 步驟2:需要從根目錄進行查詢,解釋器獲取包的名稱,將點號替換為反斜杠,具體哪種反斜杠視操作系統(tǒng)而定。
- 步驟3:將得到的路徑與CLASSPATH中的各個不同的項相連接,解釋器就在這些目錄中查找與你創(chuàng)建的類名稱相關(guān)的.class文件。
舉例:假設(shè)根據(jù)java環(huán)境設(shè)置,CLASSPATH變量為下面幾種:
- C:\Program Files\Java\jre1.8.0_102\lib;
- C:\Program Files\Java\jre1.8.0_102\lib\tools.jar;
- E:\JAVA學習\JavaProject\JavaStudy\bin
然后從這些目錄中查找.class
文件,比如說要找MyClass.class
,此時,先獲取包名net.mindview.util
,將該包名替換成net\mindview\util
,再將替換后的包名與CLASSPATH
中的路徑連接,形成一些查找路徑,如下:
路徑1:C:\Program Files\Java\jre1.8.0_102\lib\net\mindview\util
路徑2:C:\Program Files\Java\jre1.8.0_102\lib\tools.jar\net\mindview\util
路徑3:E:\JAVA學習\JavaProject\JavaStudy\bin\net\mindview\util
前兩條路徑不存在,第三條路徑存在,成功找到MyClass.class
,至此,解釋器查找成功。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
基于Java SSM框架開發(fā)圖書借閱系統(tǒng)源代碼
本文給大家介紹了基于Java SSM框架開發(fā)圖書借閱系統(tǒng),開發(fā)環(huán)境基于idea2020+mysql數(shù)據(jù)庫,前端框架使用bootstrap4框架,完美了實現(xiàn)圖書借閱系統(tǒng),喜歡的朋友快來體驗吧2021-05-05Spring?Boot中使用Spring?Retry重試框架的操作方法
這篇文章主要介紹了Spring?Retry?在SpringBoot?中的應用,介紹了RetryTemplate配置的時候,需要設(shè)置的重試策略和退避策略,需要的朋友可以參考下2022-04-04解析Java中的Timer和TimerTask在Android中的用法和實例
本篇文章主要介紹了解析Java中的Timer和TimerTask在Android中的用法,主要介紹了Timer和TimerTask的用法,有需要的可以了解一下。2016-11-11Nacos?動態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺初體驗
這篇文章主要介紹了Nacos?動態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺初體驗的相關(guān)資料,需要的朋友可以參考下2022-09-09MyBatis實現(xiàn)插入大量數(shù)據(jù)方法詳解
最近在公司項目開發(fā)中遇到批量數(shù)據(jù)插入或者更新,下面這篇文章主要給大家介紹了關(guān)于MyBatis實現(xiàn)批量插入的相關(guān)資料,需要的朋友可以參考下2022-11-11springboot整合mybatis-plus 實現(xiàn)分頁查詢功能
這篇文章主要介紹了springboot整合mybatis-plus 實現(xiàn)分頁查詢功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09