激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - 簡單了解Java程序運行整體流程

簡單了解Java程序運行整體流程

2020-07-04 12:06Tim_Bergling JAVA教程

這篇文章主要介紹了簡單了解Java程序運行整體流程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

概述

Java程序從創建源文件到程序運行要經歷兩個主要步驟:

  • 源文件 編譯器編譯> 字節碼文件(ByteCode)。
  • 字節碼文件 JVM解釋運行> 在內存中運行

Java程序從編譯到運行

示例程序:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class ClassA{
  public static void main(String[] args){
    ClassB b = new ClassB("b");
    b.method();
  }
}
 
class ClassB{
  private String name;
  public ClassB(String name){
    this.name = name;
  }
  
  public void method(){
    System.out.println("ClassB method()");
  }
 
}

編譯

  • 源文件被編譯成.class文件。
  • 若一個類所依賴的類還沒有編譯,則先編譯被依賴的類,然后引用。
  • 若已編譯,則直接引用。
  • 若找不到指定類的文件,則拋出cannot find symbol錯誤。
  • 編譯后生成的字節碼文件由兩部分組成:
    • 常量池:代碼中的所有token(類名,成員變量名)和符號引用(方法引用,成員變量引用)
    • 方法字節碼:類中各個方法的字節碼。

運行

Java類的運行過程:

  • 類的加載
  • 類的執行

注:

JVM在程序第一次主動使用類的時候才加載類,而不是一開始將所有的類都加載到內存中,只加載一次。

詳細步驟:

  • 系統啟動一個JVM進程,JVM從classpath路徑中查找對應的字節碼文件,將對應的類信息加載到運行時數據區的方法區內(類的加載)。
  • JVM找到類的主函數入口,執行main函數。
  • 若需創建對象,而方法區沒有該類的信息,則加載對應的類,并把類信息放入方法區。
  • 加載所需的類后,JVM在堆區中為實例對象分配內存,并調用構造函數初始化實例。(該實例有指向方法區對應類的類信息的引用)
  • 當調用實例的方法時,JVM由對象引用找到堆中的對象,再由對象持有的引用定位到方法區中類的類型信息的方法表,從而獲得待調用函數的字節碼的地址。
  • 開始執行調用的函數。

注:

  • public和protected的實例方法采用動態綁定機制:要用到方法表。
  • private,static,構造器和初始化方法采用靜態綁定機制:不需要方法表。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/truestoriesavici01/p/13217279.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久不射电影网 | 欧美男人天堂网 | 亚洲性一区| 成人毛片在线免费看 | 一级黄色免费 | 在线播放免费播放av片 | 毛片免费看网站 | 精品国产乱码久久久久久丨区2区 | 97se亚洲综合在线韩国专区福利 | 欧美激情在线播放 | 91网视频在线观看 | 中国国语毛片免费观看视频 | 国产羞羞视频免费在线观看 | 久久爽精品区穿丝袜 | 好骚综合在线 | 一区二区三区欧洲 | 深夜免费观看视频 | 九九热九九| 色人久久 | 全黄性性激高免费视频 | 狠狠干天天操 | 黄色一级片免费观看 | 亚洲第一成人在线观看 | 亚洲一区二区三区视频免费 | 91成人免费网站 | 毛片av网址 | 7777久久香蕉成人影院 | 成人一级黄色 | 免费午夜视频在线观看 | 欧美成人高清在线 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 欧美精品免费一区二区三区 | 一区二区久久电影 | 中文字幕在线视频网站 | 黄色片一区二区 | 国产久草视频在线 | 久久久久久久久久网 | 97风流梦电影| 色中色在线视频 | 竹内纱里奈55在线观看 | 性少妇chinesevideo |