问题
1、我们已经知道,执行java HelloWolrd后,直观得到的结果就是输出了hello world,但是这个过程中到底发生了什么呢?
流程分析
1、先通过全限定名找到对应的class
2、classloader通知其父类,判断其父类(bootStrap)是否能加载
3、如果bootStrap无法加载,则文件验证器判断该class是否为合法的class文件(0xCAFEBABE)
4、classLoader将class类加载到内存中的方法区
5、线程调用该class类的方法
参考:我是一个java class
https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=416976590&idx=1&sn=22823ada76d8cfd26a43e8d3a7b7a60e&scene=21#wechat_redirect