jvm
花辞树oo
最是人间留不住,朱颜辞镜花辞树
展开
-
JAVA8与9之间的类加载机制的更新
在JAVA与JAVA9都保留了,三层加载,这一点是没有更改的,还是为了保证类只加载一次的原则,大致的更改就是 把 ExtClassLoader 移除,替换成了PlatformClassLoader 加载器,并且 加载方式也更改了,引入了模块化的加载方式,接下来,我们来看看图中的对比加载的不同: 左边的是 JAVA8的加载方式: 当类进行加载时,会优先去找父类加载器,如果父类没有那么就会在去向上加载,一直加载到引导类加载器的时候,如果还是没有那么就会向下加载,也就是这时候才会加载到系统类加载器去进行加载。原创 2020-11-18 17:47:48 · 290 阅读 · 0 评论 -
IDEA安装jclasslib 插件查看字节码详解
查看JAVA字节码有两种方式一种是使用 jdk命令 javap,还有一种就是 使用 插件了, 打开IDEA 找到这个页面,搜索 jclasslib 然后进行安装下载,下载好了后进行重启就好了,那接下来就是使用他了,先随便找个java文件写几个变量 首先使用 进行编译当前文件: 进行编译成Class文件然后我们就可以是用jclasslib进行查看当前字节码了 找到class文件,然后点击打开 点击选中就可以看到字节码文件了 打开是这样的页面,大家要需要关注 Methods就可以了点击打开 这就原创 2020-09-30 11:39:37 · 1000 阅读 · 0 评论 -
JVM学习二: 类加载过程
上一篇总结到 类加载器以及类加载机制等知识,也是对自己的一个总结,不然学了也会忘记,今天总结一下,类加载的全过程需要经过那几步,然后能进行运行时数据区,然后进入 编译成机器码,然后给cpu执行,所以我们得先经过类加载过程。先来看下面的图 当我们文件进行编译class的时候,先经过 类加载器进行加载,然后进行链接。在进行初始化,类加载器主要就是这三种当然还包括自定义加载器,这里就要涉及双亲委派机制和父类委托机制,然后就进行解析阶段: 验证: java用户验证class文件是否安全,大家如果使用 工具打开cl原创 2020-09-27 09:44:51 · 134 阅读 · 0 评论 -
JVM学习一:类加载最重要的两种机制(双亲委派机制,全盘委托负责机制)
首先来说说Classloader,类加载包括:引导类加载器,扩展类加载器,系统类加载器,自定义加载器他们分别加载的范围,已经分类,主要分为两类加载器,一种是不是java编写的,一种是java编写的 引导类加载器: 不是java编写的 c编写的加载器,所有我们在代码中是获取不到的,是最顶层的加载器: 这里就是获取到的就是null,范围:java javax,sun下的包都是用他进行加载 扩展类加载器: 负责 rt.jar下面类的加载器 ExtClassloader 系统类加载器:自己创建的类的加载器 app原创 2020-09-25 09:55:12 · 413 阅读 · 1 评论