日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談Java文件被執行的歷程

瀏覽:14日期:2022-08-11 14:56:10
目錄Java的編譯過程一個例子第一步第二步Java的編譯過程

Java程序從源文件創建到程序運行要經過兩大步驟

淺談Java文件被執行的歷程

1、源文件由編譯器編譯成字節碼(ByteCode)

2、字節碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言('semi-interpreted' language)。

一個例子

下面我們通過一個簡單的 OneTest.java,來看一下一個java文件從編譯到運行的歷程。

Public class OneTest{ public static void main(String[] args){ Person one = new Person(); one.say(); }}

Public class Person{ private String name; public void say(){ System.out.println('I `m a Person'); }}

這里是兩個java文件,分別是OneTest.java,Person.java

第一步

首先是編譯階段,由JVM編譯器,將OneTest.java文件進行編譯,得到字節碼文件(OneTest.class),這里我們發現,OneTest.java中依賴了Person對象,也就是需要Person.java文件,編譯器便會檢索Persion.java是否被編譯(是否存在Person.class),若不存在,則先編譯Person.java,java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器會自動的先編譯這個所依賴的類,然后引用。

1、如果java編譯器在指定的目錄下找不到該類所依賴的類的 .class文件或者 .java源文件,就會報“Cant found sysbol”的異常錯誤。

2、編譯后的字節碼文件格式主要分為兩部分:常量池和方法字節碼。常量池記錄的是代碼出現過的常量、類名、成員變量(Person.java中的類Person名、name成員變量)等以及符號引用(類引用、方法引用(OneTest.java中的person.say),成員變量引用等);方法字節碼中放的是各個方法的字節碼。

第二步

然后進行解釋運行階段,這里運行階段分為兩步:類的加載和類的執行

JVM主要在程序第一次主動使用類的時候,才會去加載該類。也就是說,JVM并不是在一開始就把一個程序就所有的類都加載到內存中,而是到不得不用的時候才把它加載進來,而且只加載一次。

1、OneTest類的加載:在類路徑下找到編譯好的 java 程序中;得到 OneTest.class 字節碼文件后,系統就會啟動一個 JVM 進程,JVM進程從classpath路徑下找到一個名為OneTest.class的二進制文件,將OneTest.class文件中的類信息加載到運行時數據區的方法區中,這一過程叫做類的加載。(只有類信息在方法區中,才能創建對象,使用類中的成員變量)關于類的加載器

淺談Java文件被執行的歷程

2、運行OneTest.java中的main方法:main函數的第一條命令是Persion person = new Person();就是讓JVM創建一個Person對象,但是這時候方法區中沒有Person類的信息,所以JVM馬上加載Person類,把Person類的類型信息放到方法區中。

3、加載完Person類之后,Java虛擬機做的第一件事情就是在堆區中為一個新的Person實例分配內存, 然后調用構造函數初始化Person實例,這個Person實例持有著指向方法區的Person類的類型信息(其中包含有方法表,java動態綁定的底層實現)的引用

4、當使用person.say()的時候,JVM根據person引用找到Person對象,然后根據Person對象持有的引用定位到方法區中Person類的類型信息的方法表,獲得say()函數的字節碼的地址。

5、執行say方法。

以上就是淺談Java文件被執行的歷程的詳細內容,更多關于Java文件被執行的歷程的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
福利在线免费视频| 亚洲精品极品少妇16p| 欧美国产亚洲精品| 丝袜国产日韩另类美女| 国产成人免费| 国产精品一卡| 一二三区精品| 欧美中文字幕| 视频一区二区三区在线| 亚洲性视频h| 亚洲黄色网址| 国产成年精品| 高清一区二区| 成人精品国产亚洲| 综合一区av| 午夜在线一区二区| 欧美1区2区3区| 婷婷久久一区| 久久av一区二区三区| 免费视频久久| 热久久久久久久| 一级成人国产| 青青伊人久久| 麻豆91在线播放| 国产一区2区在线观看| 中国字幕a在线看韩国电影| 国产剧情一区| 麻豆网站免费在线观看| 久久中文亚洲字幕| 日韩伦理在线一区| 91九色精品| 日本va欧美va瓶| 久久av国产紧身裤| 蜜臀久久99精品久久一区二区 | 亚洲最新av| 88久久精品| 久久久水蜜桃av免费网站| 婷婷中文字幕一区| 亚洲高清二区| 日韩午夜黄色| 国产伦理一区| 久久xxxx精品视频| 欧美www视频在线观看| 精品1区2区3区4区| 国内精品美女在线观看| 蜜桃一区二区三区在线| 日韩欧美一区二区三区免费看| 亚洲欧洲一区二区天堂久久| 久久69成人| 日韩精品免费视频一区二区三区| 麻豆mv在线观看| 69堂免费精品视频在线播放| 国产视频一区免费看| 国产不卡人人| 国产精品久久久免费| 婷婷精品在线观看| 免费不卡中文字幕在线| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 久久不卡日韩美女| 综合亚洲自拍| 亚洲欧美日韩国产一区| 伊人久久大香线蕉av不卡| 成人精品高清在线视频| 欧美激情视频一区二区三区免费| 综合激情婷婷| 亚洲一区二区三区四区电影| 色综合www| 99视频精品视频高清免费| 国产精品成人一区二区不卡| 久久精品国产一区二区| 九九九精品视频| 久久精品色播| 日韩电影免费在线观看| 亚洲精品一级二级| 欧美粗暴jizz性欧美20| 西西人体一区二区| 亚洲精选91| 久久国产精品免费一区二区三区 | 亚洲婷婷在线| 一区在线免费| 视频一区二区不卡| 日本欧美韩国一区三区| 国产欧美日韩一级| 成人在线免费观看91| 日韩不卡在线| 男人的天堂亚洲一区| 88久久精品| 久久久一本精品| 亚洲精品2区| 亚洲人亚洲人色久| 久久99国产精品视频| www成人在线视频| 欧美成人精品| 在线综合亚洲| 国产精品多人| 欧美影院三区| 欧美伊人久久| 欧美成人亚洲| 国产精品sm| 亚洲欧美日韩高清在线| 日韩高清国产一区在线| 成人一二三区| 亚洲三区欧美一区国产二区| 久久久免费人体| av不卡免费看| 国产成人在线中文字幕| 日韩中文av| 国产精品久久久久久久久久10秀| 久久久久免费av| 欧美日韩一区二区三区在线电影| 日韩综合精品| 国产欧美日韩影院| 99riav国产精品| 亚洲伊人av| 国产精品1luya在线播放| 亚洲制服少妇| 日韩成人三级| 精品国产三区在线| 日韩精品免费观看视频| 在线精品小视频| 日韩影院二区| 国产成人久久| 青青国产精品| 亚洲精品在线二区| 女人av一区| 日韩不卡在线| 91综合网人人| 精品日本视频| 久久精品一本| 精品三级av| 久久这里只有| 精品一区二区三区四区五区| 欧美日韩一区二区国产| 日韩黄色av| 日韩高清一区| 日韩中文字幕| 国产欧美一区二区色老头| 日本不卡视频一二三区| 在线亚洲自拍| 美国欧美日韩国产在线播放| 国产精品美女久久久浪潮软件| 欧美日韩中文字幕一区二区三区| 国产精品久久久久蜜臀| 电影91久久久| 亚洲黄色免费av| 久久精品亚洲人成影院| 国产精品日韩欧美一区| 亚洲综合婷婷| 欧美激情麻豆| 日本不良网站在线观看| 久久人人精品| 蜜臀91精品一区二区三区| 777久久精品| 日本欧美一区二区在线观看| 麻豆精品视频在线观看视频| 日产精品一区二区| 精品日韩毛片| 日本午夜精品一区二区三区电影| 国产精品v亚洲精品v日韩精品| 国产不卡精品| 91久久视频| 国际精品欧美精品| 欧洲激情综合| 日本免费新一区视频| 97精品一区二区| 日韩视频在线一区二区三区 | 69堂精品视频在线播放| 成人片免费看| 综合欧美精品| av资源中文在线天堂| 在线一区二区三区视频| 国产h片在线观看| 欧美专区在线| www.com.cn成人| 青草综合视频| 久久久五月天| 欧美激情aⅴ一区二区三区| 欧美日韩国产高清| 国产一区二区三区不卡av| 一区二区日韩免费看| 欧美91在线|欧美| 婷婷精品进入| 日本а中文在线天堂| 日韩av电影一区| 日韩av资源网| 男人操女人的视频在线观看欧美 | 精品久久久网| 综合五月婷婷| 欧美精品自拍| 国产精品久久久久av电视剧| 麻豆精品久久| 日本欧美一区二区在线观看| 日韩视频精品在线观看| 日韩欧美网址| 国产精品va| 国产亚洲人成a在线v网站| 一区二区三区国产盗摄| 99视频精品免费观看| 美女国产精品久久久| 无码日韩精品一区二区免费|