如何验证java 类加载机制的存在?

相信学java的小伙伴们,都看过文章或者听老师讲过,类初次使用的时候,会加载到内存,有一个类加载器的存在。但是如何验证呢?
你说有就有?如何去验证?
我提供一种方法哈,大家有别的方法也可以在评论区说一下哈。

public class Student {

}
public class Main {
    public static void main(String[] args) {
        Student student = new Student();
    }
}


上面代码是一个Student类,和一个Main类,在Main中new 一个Student对象。
根据我们的知识,第一次加载Studnet类,类加载器会加载它的信息到内存。在方法区有类信息,在堆区有Class类对象。
下面根据debug跟进

在这里插入图片描述
开始debug,点击如下图
在这里插入图片描述
点击step into
在这里插入图片描述
见证奇迹的时刻来了
在这里插入图片描述
类加载的详细过程就不跟进了,咋们这篇文章只是说明他真的存在。

相信小伙伴们迫不及待开始尝试一下了,但是会发现观察不看这个现象,哈哈哈哈哈哈哈哈哈
不是我骗人哈,是因为idea默认不显示这些过程。大家需要做一些设置,
如下图
打开Settings,把Skip class loaders 勾选取消。
在这里插入图片描述
那么大家就可以开始操作了。

这里我突然有了一个想法,为什么idea默认不让我们看这些内容呢?这样不是不让我们获取知识吗?不利于我们学习啊。

我是这样认为的,idea作为一款java编辑工具,必须考虑用户的体验吧。
如果默认可以进入类加载过程,那么一个java初学者想调试一下代码,那么他就会陷入底层的类加载等复杂过程, 自己的业务代码还没调试到,估计就放弃了。就好像在计算机没有图形界面之前,大家如果要玩电脑必须先记住若干命令,那么我为了听个歌曲,还去记几个命令,岂不是太复杂,有了图形界面,底层命令用户不需要知道,计算机用户更方便了,用户也就多了,电脑也就走进了千家万户。
所以说原理都是一样的,java封装不也是这个意思么,面向接口编程不也是吗?思维哪里有一样,只是不同的地方不同的实现而已。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值