摘要: 生命周期的四个过程 spring中bean的生命周期分为四步: 实例化 Instantiation 属性赋值 Populate 初始化 Initialization 销毁 Destruction 实例化和属性赋值对应构造方法和setter方法的注入,初始化和销毁是用户能自定义扩展的两个阶段。 源码如 阅读全文
posted @ 2021-08-15 15:28 liumeng哈哈哈 阅读(1004) 评论(0) 推荐(0) 编辑
摘要: 一、BeanFactory BeanFactory 是 Spring 的“心脏”。它就是 Spring IoC 容器的真面目。Spring 使用 BeanFactory 来实例化、配置和管理 Bean。 BeanFactory:是IOC容器的核心接口, 它定义了IOC的基本功能,我们看到它主要定义了 阅读全文
posted @ 2021-08-13 10:45 liumeng哈哈哈 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 1、两者的联系和区别 @Component 和 @Bean 是两种使用注解来定义bean的方式。 @Component(和@Service和@Repository)用于自动检测和使用类路径扫描自动配置bean。注释类和bean之间存在隐式的一对一映射(即每个类一个bean)。 这种方法对需要进行逻辑 阅读全文
posted @ 2021-08-12 20:45 liumeng哈哈哈 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 作者:Mingqi 链接:https://www.zhihu.com/question/23277575/answer/169698662 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 要了解控制反转( Inversion of Control ), 我觉得有必要 阅读全文
posted @ 2021-08-09 16:58 liumeng哈哈哈 阅读(73) 评论(0) 推荐(0) 编辑
摘要: String的基本特性 String:字符使用一对““引起来表示。 string 声明为 final 的,不可被继承 String 实现了 Serializable 接口:表示字符串是支持序列化的。实现了 Comparabe 接口:表示 string 可以比较大小 string 在 jdk8 及以前 阅读全文
posted @ 2021-08-06 16:25 liumeng哈哈哈 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 一、Java泛型的实现方法:类型擦除 大家都知道,Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉,正确理解泛型概念的首要前提是理解类型擦除。Java的泛型基本上都是在编译器这个层次上实现的,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器 阅读全文
posted @ 2021-08-03 21:58 liumeng哈哈哈 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 转载自https://www.cnblogs.com/Elliott-Su-Faith-change-our-life/p/7472265.html Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析Prio 阅读全文
posted @ 2021-07-30 11:49 liumeng哈哈哈 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 本文摘自On Java8 一旦学会了多态,就可以以多态的思维方式考虑每件事。然而,只有普通的方法调 用可以是多态的。例如,如果你直接访问一个属性,该访问会在编译时解析: // polymorphism/FieldAccess.java // Direct field access is determ 阅读全文
posted @ 2021-07-27 14:23 liumeng哈哈哈 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 注:本文摘自On Java8 构造器调用的层次结构带来了一个困境。如果在构造器中调用了正在构造的对象的动态绑定方法,会发生什么呢? 在普通的方法中,动态绑定的调用是在运行时解析的,因为对象不知道它属于方法所在的类还是类的派生类。 如果在构造器中调用了动态绑定方法,就会用到那个方法的重写定义。然而,调 阅读全文
posted @ 2021-07-26 17:28 liumeng哈哈哈 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 初始化阶段是执行类构造器<clinit>()方法的过程。 <clinit>()方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块(static{})中的语句合并产生的,编译器手机的顺序是由语句在原文件中出现的顺序所决定的,静态语句块中只能访问到定义在静态语句块之前的变量,定义在他之后的变量 阅读全文
posted @ 2021-07-26 15:54 liumeng哈哈哈 阅读(238) 评论(0) 推荐(0) 编辑