- 博客(5)
- 收藏
- 关注
原创 Springboot底层源码
第一步先切到启动类,用鼠标的焦点对着SpringApplication.Run()方法按ctrl+b就跳转到了里面的源码。设置初始化(Initializers),启动过程中待调用。第一步: 执行Springboot的Run()方法。这行代码的意思是将主启动类设置到集合中存储起来。第二步: 获取,启动运行过程的监听器。设置一系列的监听器,启动过程中会触发。第五步:IOC容器的前置处理。第七步:IOC容器的后置处理。第八步:发出结束执行的事件。第九步:执行runners。第四步:创建IOC容器。
2023-09-13 22:33:19
56
1
原创 2023年7月25日遇见的三个报错
第三次总结出来的报错: java.lang.NoClassDefFoundError: org/apache/ibatis/io/Resources。解决的方法:点击projectStructure-artifacts-SuperMarketManagerSystem再点击右键。第二次总结出来的报误: association里面的属性本来是javatype 结果被我写成了resultmap。第一次报错是: mybatis-config.xml 被我打成了mybatis-comfig.xml。
2023-07-25 19:59:38
43
原创 反射的作用
不用普通new对象的形式,而是加载类的形式来获取该类里面的所有东西 包括成员变量 构造方法 成员方法 包括私有的全部都能获取出来。特点: 非常不主动的加载方式 没有c1.newInstance()对象之前,它是不会要求jvm加载什么。特点: 构造器初始化整个类里面的所有东西 它要求jvm去加载所有,包括静态代码块,动态代码块和构造方法。反射的特点:它可以拿到类里所有的东西 比如说私有的都能拿到。总结: 不管用哪种方式,得到的肯定都是Class的类对象。第一点是获取任意一个类的信息。
2023-07-14 23:37:47
50
1
原创 Arraylist底层源码实现
如果arr等于null,说明用户是第一次添加,就创建一个新的数组,把用户输入的值传入到数组的第0个下标。第一步:先创建一个长度为原数组长度-1的新数组。1.先创建一个新的数组 长度为原数组长度+1。Arraylist的底层源码就是数组构成的。2.一个for循环把老数据的数据给到新数组。3.把传过来的值放到数组的最后一个位置。Arraylist的add的底层思路。第三步:替换数组 把新数组覆盖老数组。3.查询集合的长度size()方法。4.替换数组 把新数组覆盖老数组。第二步:复制原数组的内容到新数组。
2023-07-14 08:22:16
43
1
原创 动态的代理
第二步,创建接口,接口名为Star,通过接口来保证代理的样子,后面的对象和代理都需要实这同一接口。2.newIProxyInstance方法在创建代理时,需要几个参数,每一个参数的含义是什么?创建一个JavaBean的明星对象,我们就称之他为鸡哥,这个对象面有唱歌和跳舞的方法。为对象创建一个代理,代理可以帮对象分担一些任务,无侵入式的代码额外地给对象添加功能。第四步,创建一个测试类,用这个测试类去获取代理对象,然后再调用唱歌和跳舞的方法。第一个参数的含义是:用于指定哪个类加载器,去加载生成的代理类。
2023-07-12 14:09:26
47
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人