
JVM
CodeByZhou
这个作者很懒,什么都没留下…
展开
-
JVM——类的主动使用和被动使用
REF_getStatic、REF_putStatic、REF_invokeStatic句柄对应的类没有初始化,则初始化。java.lang.invoke.MethodHandle实例的解析结果。被动使用:除以上方法,都是被动使用,都不会导致类的初始化。2、访问某个类或接口的静态变量,或对其赋值。6、虚拟机启动时表明为启动类的类。原创 2024-03-18 22:49:13 · 400 阅读 · 0 评论 -
JVM学习——双亲委派机制
当类加载器接收到加载类的任务时,首先会向上请求,一直请求到引导类加载器,如果引导类加载器无法加载,就会逐层返回让类加载器自己执行,最后就是调用系统类加载器,或者是线程的上下文加载器。例如自定义String类,会与系统类重复,基于双亲委派机制就会从根本上拒绝这个访问,项目无法启动,这个也叫沙箱安全机制。简而言之就是为了防止与Java固有全类名重复,而导致系统崩坏所设立的机制。主要还是为了保证安全,和类加载的唯一性。原创 2024-03-18 22:39:59 · 418 阅读 · 0 评论 -
JVM学习——类的加载器以及类的加载过程
在JVM中只有两种分类,分别为引导类加载器和自定义类加载器,简单来说就是C写的就是引导类,Java写的就是自定义类加载器。阶段三:解析,将class中的符号和常量池中的引用对应上,还有一些接口、字段、类方法、接口方法、方法类型等等。3、加载JDK安装目录的jre/lib/ext子目录下的类库,用户也可以将自己的类库放到这个路径下,也会被扩展类加载器加载。加载到的类信息存放在方法区中(JDK8以后改名了),此外也会存一些常量的信息,都是加载的class类中的。类加载器以及类的加载过程可分为三个阶段。原创 2024-03-17 23:08:39 · 1034 阅读 · 0 评论