![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
闪电侠-公子
软件开发!
展开
-
1.jvm 类加载机制(class loading)
类加载机制(class loading)在java代码中,类的加载、连接与初始化的过程都是在程序的运行期间完成的在程序运行期间完成类的加载、连接和初始化为Java代码提供了更大的灵活性,增加了更多的可能性。比如Java的动态代理,在类加载之后才会生成动态代理类。加载 :查找并加载类的二进制数据(存放在方法区 jdk1.8之后叫元空间matespace) 类加载指的是将类的.cla...原创 2019-08-19 09:23:42 · 389 阅读 · 0 评论 -
2.java类加载器
类加载器类加载器并不需要等待某个类在“首次主动使用”的时候才区加载它。因为:jvm规范容许类加载器在预料某个类将要被使用的时候就预先加载它,如果在预先加载的时候遇到了.class文件确实或者存在错误,类加载器必须在程序首次主动使用该类的时候才报错。如果这个类一直没有被程序使用那么就不会报错。类加载器负责加载所有的类,其为所有被载入内存中的类生成一个java.lang.Class实例对象。一...原创 2019-08-19 15:52:13 · 124 阅读 · 0 评论 -
3.jvm类的卸载
jvm类的卸载当某个类被加载,连接和初始化后,它的生命周期就开始了。当代表这个类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,这个类在方法区内的数据也会被卸载,从而结束这个类的生命周期。一个类何时结束生命周期,取决于代表它的Class对象何时结束生命周期。由Java虚拟机自带的类加载器所加载的类,在虚拟机的生命周期中,始终不会被卸载。Java虚拟机自带的类加载器...原创 2019-08-19 15:53:51 · 291 阅读 · 0 评论 -
4.jvm类加载器命名空间实战剖析与透彻理解
类加载器命名空间实战剖析与透彻理解命名空间每个类加载器都有自己的命名空间,命名空间是由该加载器及所有的父加载器加载的类组成在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类在不同的命名空间中,有可能出现类的完整名字(包括类的包名)相同的两个类关于命名空间的重要说明1、子加载器所加载的类能够访问到父加载器所加载的类2、父加载器所加载的类无法访问到子类加载器所加载的...原创 2019-08-19 15:55:55 · 293 阅读 · 0 评论 -
JAVA JVM助记符
ldc:将int/float/String类型的常量值从常量池中推送至栈顶(栈顶的值是即将要用的)bipush:将单字节(-128 ~ 127)的常量值从常量池中推至栈顶sipush:将一个短整型(-32768 ~ 32767)的常量值从常量池中推至栈顶iconst_1:将int型的常量值1从常量池中推至栈顶(jvm专门为0/1/2/3/4/5这5个数字开的助记符),iconst_m1则表示...原创 2019-08-19 15:59:24 · 205 阅读 · 0 评论 -
线程上下文类加载器
线程上下文类加载器名词解释SPI:Service Provider Interface 服务提供者接口当前类加载器(Current ClassLoader)每个类都会使用自己的类加载器(加载自身的类加载器)来去加载所依赖的类,如果ClassA引用了ClassB,NameClassA的类加载器就会加载ClassB(前提是ClassB没有被加载)线程上下文类加载器(Context Clas...原创 2019-08-27 17:56:00 · 1665 阅读 · 0 评论