jvm
闪电侠-公子
软件开发!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1.jvm 类加载机制(class loading)
类加载机制(class loading) 在java代码中,类的加载、连接与初始化的过程都是在程序的运行期间完成的 在程序运行期间完成类的加载、连接和初始化为Java代码提供了更大的灵活性,增加了更多的可能性。比如Java的动态代理,在类加载之后才会生成动态代理类。 加载 :查找并加载类的二进制数据(存放在方法区 jdk1.8之后叫元空间matespace) 类加载指的是将类的.cla...原创 2019-08-19 09:23:42 · 472 阅读 · 0 评论 -
2.java类加载器
类加载器 类加载器并不需要等待某个类在“首次主动使用”的时候才区加载它。因为: jvm规范容许类加载器在预料某个类将要被使用的时候就预先加载它,如果在预先加载的时候遇到了.class文件确实或者存在错误,类加载器必须在程序首次主动使用该类的时候才报错。如果这个类一直没有被程序使用那么就不会报错。 类加载器负责加载所有的类,其为所有被载入内存中的类生成一个java.lang.Class实例对象。一...原创 2019-08-19 15:52:13 · 175 阅读 · 0 评论 -
3.jvm类的卸载
jvm类的卸载 当某个类被加载,连接和初始化后,它的生命周期就开始了。当代表这个类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,这个类在方法区内的数据也会被卸载,从而结束这个类的生命周期。 一个类何时结束生命周期,取决于代表它的Class对象何时结束生命周期。 由Java虚拟机自带的类加载器所加载的类,在虚拟机的生命周期中,始终不会被卸载。Java虚拟机自带的类加载器...原创 2019-08-19 15:53:51 · 374 阅读 · 0 评论 -
4.jvm类加载器命名空间实战剖析与透彻理解
类加载器命名空间实战剖析与透彻理解 命名空间 每个类加载器都有自己的命名空间,命名空间是由该加载器及所有的父加载器加载的类组成 在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类 在不同的命名空间中,有可能出现类的完整名字(包括类的包名)相同的两个类 关于命名空间的重要说明 1、子加载器所加载的类能够访问到父加载器所加载的类 2、父加载器所加载的类无法访问到子类加载器所加载的...原创 2019-08-19 15:55:55 · 363 阅读 · 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 · 255 阅读 · 0 评论 -
线程上下文类加载器
线程上下文类加载器 名词解释 SPI:Service Provider Interface 服务提供者接口 当前类加载器(Current ClassLoader) 每个类都会使用自己的类加载器(加载自身的类加载器)来去加载所依赖的类,如果ClassA引用了ClassB,NameClassA的类加载器就会加载ClassB(前提是ClassB没有被加载) 线程上下文类加载器(Context Clas...原创 2019-08-27 17:56:00 · 1747 阅读 · 0 评论
分享