![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 70
humannoid
学无止境
展开
-
类的生命周期复盘
类的加载阶段就是 类加载器根据类的全限定名 将java文件转换为字节码文件,当把类转换为字节码文件之后,会生成个instanceKlass文件,并放在方法区中,它保存了类的所有信息,同时还会在堆中生成一个java.lang.class文件和instanceKlass所关联,原因是instanceKlass是c++写的,java不能直接调用,所以关联起来间接调用,这就是类的加载阶段。2.如果没有new B02() 直接调用静态变量,这个静态变量是在父类中声明的,所以此时a=1。所以结果是不会初始化。原创 2024-04-28 22:35:36 · 405 阅读 · 0 评论 -
类加载器和双亲委派机制体会及分析和arthas使用
再打印类加载器 可以看到 为null 这是因为启动类加载器 java程序员是无法用代码获取的。可以看到这个类 选择对应类的id后 输入classloader 可以看到里面确实有。想要被arthas识别到 需要让应用程序不退出 System.in.read();应用程序类加载器 加载的是应用使用的类,它包括了启动类加载器所加载的类。作用是开发中有时候会开发一些基础类,需要每个程序都使用到。启动类加载器,扩展类加载器,应用程序类加载器。在idea中添加jvm参数。可以看到已经加载进启动类了。原创 2024-04-29 21:30:46 · 464 阅读 · 2 评论