首页 > 其他 > 详细

JVM调优学习

时间:2021-03-09 09:18:15      阅读:20      评论:0      收藏:0      [点我收藏+]

java类的加载过程

jvm的核心类加载器

什么是双亲委派

启动jvm.dll文件启动java虚拟机---》创建一个类加载器(c++)---》c++调用java代码启动sun.miscLauncher实列,然后通过这个实例启动很多java类加载器---》获取自己的加载器classloder,是AppClassLoder的实例(launcher.getClassLoder())---》运行指定的类文件---》调用main方法启动---》运行程序---》jvm销毁

 

 

类的加载:验证,准备,解析,初始化jvm,加载使用

  验证:验证字节码的准确性

  准备:给类的静态变量分配内存,并赋予默认值

  解析:将符号引用转变为直接引用(指向数据存储在内存中的指针或句柄)

  初始化:对类的静态变量初始化为指定的值,执行静态代码块

运行时常量池,类型信息,字段信息,方法信息,类加载器的引用,对应class实例的引用

 

引导类加载器:负责加载支撑jvm运行的位于jre的lib目录下的核心类库,不如rt。jar,charsets.jar等

扩展类加载器:负责加载支撑jvm运行的位于jre的lib下的ext扩展目录下的jar包

应用程序类加载器:负责加载classPash路径下的jar包,主要是加载自己写的类

自定义类加载器:负责加载用户自定义路径下的类包

 

技术分享图片

 

 技术分享图片

 

JVM调优学习

原文:https://www.cnblogs.com/xining/p/14503288.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!