![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
是阿羡
这个作者很懒,什么都没留下…
展开
-
JVM类加载过程
JVM类加载过程 所有的类都由类加载器加载,加载的作用就是将 .class文件加载到内存。 类的一个完整生命周期分为: 加载–>链接–>初始化–>使用–>卸载 而连接又可以分为:验证–>准备–>解析 加载:通过此类的全类名,查找此类的字节码文件,利用字节码文件创建Class文件。 验证:确保Class文件符合虚拟机要求,不会危害到虚拟机自身安全。 准备:进行内存分配,为static修饰的类变量分配内存,并设置初始值0或null,不包含final修饰的静态变量,因为fi原创 2020-07-13 20:05:18 · 112 阅读 · 0 评论 -
JVM类加载器
JVM中有三个重要的类加载器 BootstrapClassLoader(启动类加载器):最顶层的类加载器,由C++实现,负责加载%JAVA_HOME%/lib目录下的jar包和类。 ExtensionClassLoader(扩展类加载器):主要负责加载%JAVA_HOME%lib/ext目录下的jar包和类。 AppClassLoader(应用程序类加载器):面向用户的类加载器,负责加载当前应用下Classpath下的所有jar包和类。 双亲委派模型 类加载之间的”父子“关系不是由继承来体现的,而是由”优先原创 2020-07-13 20:04:42 · 119 阅读 · 0 评论 -
JVM
JVM----垃圾回收 0.GC堆? GC堆被分为新生代和老年代,还可以细分为Eden、From Survivor、To Survivor、Old Memory 大部分对象都会出生在Eden区,特别大的对象会直接出生在Old memory,当经历过垃圾回收后就进入Survivor,并且对象的年龄+1,当超过15岁时就会进入Old Memory 1.如何判断对象是否死亡? 引用计数法:对象有引用指向它则+1,引用不指向-1,当为0时被回收。不能处理循环引用。 可达性分析法:根据称为GC-Roots的对象为原创 2020-07-13 12:09:18 · 122 阅读 · 0 评论