JVM中 一個類只會被載入一次
阿新 • • 發佈:2019-01-02
載入是相對於程序而言的,
啟動一個main方法,也就是啟動了一個程序,在一個程序中,一個類只會被載入一次
public class TestThread { /** * 啟動一個程序 * 在這個程序中啟動多個執行緒 * 在每個執行緒中例項化一個類 * @param args */ public static void main(String[] args) { int i = 0; while(i++ < 5){ new Thread(() -> new P()).start(); } } } class P{ public static int a = 1; static{ System.out.println("static block "); } public P(){ System.out.println("P.P()"); } }
檢視輸出結果, 類P只有在第一次被呼叫的時候才進行初始化, 在之後的例項時都不在進行初始化
static block
P.P()
P.P()
P.P()
P.P()
P.P()