摘要:构造参数 spring允许我们在XML文件中可以配置一个bean的构造参数,这些属性最终会存放进BeanDefinition的constructorArgumentValues属性中: <bean id="amy" class="org.example.beans.Person"> <constru 阅读全文
posted @ 2020-10-27 08:31 北洛 阅读(11) 评论(0) 推荐(0) 编辑
摘要:BeanDefinition 在spring中,BeanDefinition是十分重要的概念,可以说绝大部分的bean,都是从BeanDefinition产生的。那么BeanDefinition到底是什么呢?在回答这个问题前,我们先来思考Java是如何产生一个对象的?要产生一个Java对象,最基础是 阅读全文
posted @ 2020-10-27 08:26 北洛 阅读(11) 评论(0) 推荐(0) 编辑
摘要:基于注解的容器配置 spring允许我们用注解来代替XML配置,至于是注解更好还是XML更好视情况而定,一般开发人员喜欢使用注解来进行配置,因为这样更靠近代码;而运维更喜欢XML配置,来决定服务运行的环境,比如:数据库配置。spring不但允许两种不同配置风格的存在,甚至还能混合使用。 谈到注解,@ 阅读全文
posted @ 2020-10-19 20:36 北洛 阅读(7) 评论(0) 推荐(0) 编辑
摘要:组合Java配置 在XML中,我们可以使用<import/>标签,在一个XML文件中引入另一个XML文件,在Java类中,我们同样可以在一个配置类中用@Import引入另一个配置类,被引入的配置类中的@Bean也会加载到spring容器。代码如下: @Configuration public cla 阅读全文
posted @ 2020-10-19 09:09 北洛 阅读(153) 评论(0) 推荐(1) 编辑
摘要:方法注入 在spring容器中,大部分bean的作用域(scope)是单例(singleton)的,少部分bean的作用域是原型(prototype),如果一个bean的作用域是原型,我们A bean的作用域是原型,B bean中以@Autowired的方式注入A,那么B在A中依旧是单例。我们可以让 阅读全文
posted @ 2020-10-18 21:31 北洛 阅读(113) 评论(0) 推荐(0) 编辑
摘要:基础应用 在学习spring源码之前,我们需要将spring中的一些基础概念弄清,比如:@Component、@Autowired、@Resource、@DependsOn、@Lookup、后置处理器……等。有些是大家平常就在用的注解,诸如:@Component、@Autowired、@Resour 阅读全文
posted @ 2020-10-18 21:29 北洛 阅读(23) 评论(0) 推荐(0) 编辑
摘要:动态类型语言支持 在介绍Java虚拟机的动态类型语言支持之前,我们要先弄明白动态类型语言是什么?动态类型语言的关键特征是它的类型检查的主体过程是在运行期而不是编译期进行的,满足这个特征的语言有很多,常用的包括:Clojure、Erlang、Groovy、JavaScript、PHP、Python…… 阅读全文
posted @ 2020-07-27 21:19 北洛 阅读(37) 评论(0) 推荐(0) 编辑
摘要:方法调用 方法调用并不等同于方法中的代码被执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还未涉及方法内部的具体运行过程。在程序运行时,进行方法调用是最普遍频繁的操作之一,之前已经讲过,Class文件的编译过程中不包含传统程序语言编译的连接步骤,一切方法调用在Class 阅读全文
posted @ 2020-07-25 15:26 北洛 阅读(59) 评论(0) 推荐(0) 编辑
摘要:运行时栈帧结构 Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Frame)则是用于支持虚拟机进行方法调用和方法执行背后的数据结构,它也是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址 阅读全文
posted @ 2020-07-19 10:36 北洛 阅读(55) 评论(0) 推荐(0) 编辑
摘要:内存分配与回收策略 大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC。 HotSpot虚拟机提供了-XX:+PrintGCDetails这个收集器日志参数,告诉虚拟机在发生垃圾收集行为时打印内存回收日志,并且在进程退出的时候输出当前的内 阅读全文
posted @ 2020-07-18 20:36 北洛 阅读(32) 评论(0) 推荐(0) 编辑