jvm
文章平均质量分 50
GzlAndy
秋后的蚂蚱,越蹦越欢~
展开
-
类加载机制
类加载机制 1 双亲委派机制 机制 核心是向上委派 加载一个类时,首先会通过类的全限定名判断类是否已经被加载, 被加载时,直接返回, 未被加载时,委托给父类加载器去加载, 重复相同的流程直至启动类加载器, 如果父类加载器所负责的加载路径中加载不到该类,则当前类加载器在自己的加载路径找该类。 局限性 无法做到不委派,或者向下委派 打破双亲委派 不委派 向下委派(SPI机制中的一部分) 实现打破双亲委派的方式 1)自定义类加载器 重写sun.applet.AppletClassLoad原创 2020-12-25 21:14:25 · 173 阅读 · 0 评论 -
类加载器
类加载器 1 启动类加载器(BootStrapClassLoader) 没有实体, 将c++写的一段逻辑定义为启动类加载器 加载路径 启动类加载器加载路径为: JAVA_HOME\jre\lib*.jar; JAVA_HOME\jre\class*; 查看启动类加载器加载路径: #系统属性 System.getProperty("sun.boot.class.path"); #api Launcher.getBootstrapClassPath().getURLs();原创 2020-12-25 21:12:37 · 132 阅读 · 0 评论 -
类的生命周期
类的生命周期 1 加载 加载阶段做的三件事1)通过类的全限定名获取类class文件的二进制流2)解析成运行时数据,即InstanceKlass实例,存放在方法区3)在堆区生成该类的Class对象,即InstanceMirrorKlass实例类的二进制流从哪获取1)classpath参数指定的路径中2)压缩包3)网络 jvm加载类时懒加载模式,使用的时候才会加载 常用的类会采用预加载模式。预加载的类:包装类、String、Thread 2 验证 1)文件格式验证验证字节流是否符合Class文件格原创 2020-12-18 21:10:19 · 267 阅读 · 1 评论