0
点赞
收藏
分享

微信扫一扫

jvm(14) -- 类加载的过程


文章目录

  • ​​类加载的过程​​
  • ​​①加载​​
  • ​​加载源:​​
  • ​​②验证​​
  • ​​③准备​​
  • ​​④解析​​
  • ​​⑤初始化​​

类加载的过程

①加载

jvm(14) -- 类加载的过程_初始化

加载源:

jvm(14) -- 类加载的过程_jvm_02


jvm(14) -- 类加载的过程_初始化_03

②验证

jvm(14) -- 类加载的过程_初始化_04


jvm(14) -- 类加载的过程_jvm_05


jvm(14) -- 类加载的过程_类加载_06


jvm(14) -- 类加载的过程_类加载_07

主要是语义验证。

jvm(14) -- 类加载的过程_初始化_08

主要是执行流:顺序,选择,循环流

jvm(14) -- 类加载的过程_jvm_09


jvm(14) -- 类加载的过程_jvm_10


jvm(14) -- 类加载的过程_初始化_11

③准备

jvm(14) -- 类加载的过程_加载_12


jvm(14) -- 类加载的过程_初始化_13


jvm(14) -- 类加载的过程_初始化_14

④解析

jvm(14) -- 类加载的过程_加载_15


jvm(14) -- 类加载的过程_初始化_16


jvm(14) -- 类加载的过程_jvm_17


jvm(14) -- 类加载的过程_初始化_18


jvm(14) -- 类加载的过程_加载_19


jvm(14) -- 类加载的过程_初始化_20

⑤初始化

jvm(14) -- 类加载的过程_类加载_21


jvm(14) -- 类加载的过程_jvm_22


jvm(14) -- 类加载的过程_jvm_23


jvm(14) -- 类加载的过程_初始化_24

public class DeamThread {
static class Hello{
static {
System.out.println(Thread.currentThread().getName() + " init");
}
}

public static void main(String[] args) {
ExecutorService threadPool = Executors.newFixedThreadPool(20);
int i = 0;
while(i++<20){
threadPool.execute(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " start");
Hello h = new Hello();
System.out.println(Thread.currentThread().getName() + " end");
}
});
}
}
}

jvm(14) -- 类加载的过程_jvm_25


举报

相关推荐

0 条评论