类是在什么时候进的方法区 以及 Java回收方法区中回收的类

本文探讨了Java中类的加载时机,即在首次new操作时加载至方法区,并且只会加载一次。同时,深入讨论了Java回收方法区中类的条件,包括所有实例被回收、加载类的ClassLoader被回收及Class对象未被引用。

 类是在    第一次new的时候加载进方法区中的 ,且只加载一次

 

测试:

public class Day5_Demp1 {

    public static void main(String[] args) {
        m1 m ;
        new m1();
        new m1();
    }
}


class  m1 {
    static {
        System.out.println("静态");
    }

    {
        System.out.println("构造");
    }
}


引出问题:

Java回收方法区中回收的类

回收的类必须满足下面三个条件才能算是“无用的类”

1、该类所有的实例都已经被回收,也就是说Java堆中不存在该类的任何实例;

2、加载该类的ClassLoader已经被回收;

3、该类对应的java.lang.Class对象没有在任何地方被引用,无法在任何地方通过反射访问该类的方法。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值