導航:首頁 > 源碼編譯 > 類載入是在編譯時還是運行時

類載入是在編譯時還是運行時

發布時間:2023-05-17 12:11:26

java中類的載入是在什麼時候做的

樓上的負責一點好么,類載入是在編譯的時候?載入一個類需要用到載入器,
你程序都沒運行,jvm都沒啟動,哪來的載入器,你拿什麼去載入一個類?
類載入的時候是運行程序時 它就載入了,至於編譯,你用IDE,是你一保存,它就給編譯好了。

㈡ java 類載入先後順序

1.父類靜態代碼塊;
2.子類靜態代碼塊;
3.父類非靜態代碼塊;
4.父類構造函數;
5.子類非靜態代碼塊;
6.子類構造函數;

舉例:
public class ExA {
static {
System.out.println("父類靜態代碼塊。");
}
public ExA() {
System.out.println("父類構造函數。");
}
{
System.out.println("父類非靜態代碼塊。");
}

public static void main(String[] args) {
new ExB();
}
}
class ExB extends ExA {
static {
System.out.println("子類靜態代碼塊。");
}
{
System.out.println("子類非靜態代碼塊。");
}
public ExB() {
System.out.println("子類構造函數。");
}
}
執行結果:父類靜態代碼塊。子類靜態代碼塊。父類非靜態代碼塊。父類構造函數。子類非靜態代碼塊。子類構造函數。

㈢ Java中類載入出現在哪個階段,編譯期和運行期 類載入和類裝載是一樣的嗎

使用的類,編譯/運行時都會被載入。

載入/裝載沒有區別,翻譯的詞彙選擇因人而異了

運行 javac /java 時 加上 -verbose 選項就可以看到了。

㈣ 簡述JAVA程序的編輯編譯和運行過程

第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點象make。

如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報「cant find symbol」的錯誤。

第二步(運行):java類運行的過程大概可分為兩個過程:1、類的載入 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去載入該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都載入到內存中,而是到不得不用的時候才把它載入進來,而且只載入一次。

特別說明:java類中所有public和protected的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法<clinit>都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。

(4)類載入是在編譯時還是運行時擴展閱讀:

Java整個編譯以及運行的過程相當繁瑣,本文通過一個簡單的程序來簡單的說明整個流程。

Java代碼編譯:是由Java源碼編譯器來完成;

Java位元組碼的執行:是由JVM執行引擎來完成

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

1、源文件由編譯器編譯成位元組碼(ByteCode)

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

㈤ 類載入是在編譯期前還是編譯期進行的

應該是在編譯的時候載入進來的吧,當編譯到import語句就開始載入外部類了

㈥ 什麼是類的載入何時載入

當程序主動使用某個類時,如果該類還未被載入到攔槐內存中,系統會通過載入,連接,初始化三個步驟來對該類進行初始化,JVM將會連續完成這三個步驟,也把這三個步驟統稱為類載入或類初始化。

類載入指的是將類Class文件讀入內存,並為之創建一個java.lang.Class對象,也就是說程序使用任何類時,系統都會為之建立一個java.lang.Class對象。

類是某一類對象的抽象,類是概念層次的東西,但類也是一種對象,每個類是一批具有相同特徵的對象的抽象,而系統中所有類,它們實際上也是對象,都是java.lang.Class的實例。

類的載入由類載入器完成,類載入器通常由JVM提供,這些類載入器也是所有程序運行的基礎,JVM提供的這些類載入器通常被稱為系統類載入器,開發者也可以通過繼承ClassLoader基類來創建自己的類載入器。

通過使用不同的類載入器,可以從不同來源載入類的二進制數據,通常有如下幾種來源:1.從本地文件系統來加手掘載Class文件,這是大部分實常式序的類載入方式。

2從jar包中載入class文件,如JDBC編程時用到的資料庫驅動類就是放在jar文件中,JVM可以從jar文件中直接載入該Class文件。

3.通過網路載入class文件。

4.把一個java源文件動態編譯,並執行載入。

閱讀全文

與類載入是在編譯時還是運行時相關的資料

熱點內容
如何在文件夾中顯示頁碼 瀏覽:354
雲伺服器登不上qq 瀏覽:417
程序員四級工程師 瀏覽:715
薄荷app怎麼把體重清零 瀏覽:644
草料二維碼加密怎麼製作 瀏覽:851
04s519隔油池圖集pdf 瀏覽:242
程序員搞測試 瀏覽:552
蘋果app應用隱藏了怎麼辦 瀏覽:660
PDF調取 瀏覽:199
獨立柱加密需要什麼條件 瀏覽:814
php培訓出來找不到工作 瀏覽:106
小程序克隆源碼 瀏覽:448
python整數整除負數 瀏覽:880
遮天用什麼小說app看 瀏覽:645
什麼可以發類似朋友圈的app 瀏覽:495
cmd查找命令行 瀏覽:661
如何申請域名需要虛擬伺服器 瀏覽:497
氣體流量的演算法 瀏覽:634
大族加密狗滑鼠 瀏覽:23
php資料庫登錄界面 瀏覽:657