Spring bean生命周期13个环节 阶段1:Bean元信息配置阶段 阶段2:Bean元信息解析阶段 阶段3:将Bean注册到容器中 阶段4:BeanDefinition合并阶段 阶段5:Bean Class加载阶段 阶段6:Bean实例化阶段(2个小阶段) Bean实例化前阶段 Bean实例化阶段 阶段7:合并后的BeanDefinition处理…
本文主要分4部分 Aop原理介绍 介绍aop相关的一些类 通过源码详解aop代理的创建过程 通过源码详解aop代理的调用过程 Aop代理一些特性的使用案例 Spring AOP原理 原理比较简单,主要就是使用jdk动态代理和cglib代理来创建代理对象,通过代理对象来访问目标对象,而代理对象中融入了增强的代码,最终起到对目标对象增强的效果。…
非线程安全集合类(这里的集合指容器Collection,非Set)的迭代器结合了及时失败机制,但仍然是不安全的。这种不安全表现在许多方面: 并发修改“通常”导致及时失败 单线程修改也可能导致及时失败的“误报” 迭代器会“丢失”某些并发修改行为,让及时失败失效 如果不了解其不安全之处就随意使用,就像给程序埋下了地雷,随时可能引爆,却不可预知。…
导读:手机淘宝作为整个互联网领域旗舰 APP 之一,装机量和用户访问量都是名列前茅的。而首页作为打开手机淘宝的门面,是淘宝电商领域的主要流量入口和服务消费者的核心阵地,其业务的复杂性之高、系统的稳定性之重都有着极高的要求。首页承载着非常重要的业务使命,负责整个阿里生态的业务分发和商业策略输出。随着淘宝无线化战略的升级,首页也从 PC…
@Value的用法 系统中需要连接db,连接db有很多配置信息。 系统中需要发送邮件,发送邮件需要配置邮件服务器的信息。 还有其他的一些配置信息。 我们可以将这些配置信息统一放在一个配置文件中,上线的时候由运维统一修改。 那么系统中如何使用这些配置信息呢,spring中提供了@Value注解来解决这个问题。…
先说一下什么是国际化 简单理解,就是对于不同的语言,做出不同的响应。 比如页面中有个填写用户信息的表单,有个姓名的输入框 浏览器中可以选择语言 选中文的时候会显示: 姓名:一个输入框 选英文的时候会显示: Full name:一个输入框 国际化就是做这个事情的,根据不同的语言显示不同的信息。…
什么是垃圾回收 垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。 Java 语言出来之前,大家都在拼命的写 C 或者 C++ 的程序,而此时存在一个很大的矛盾,C++…
Java Io 什么是流 I: Input | 输入 O: Output | 输出 流的分类 按照数据的流向 输入流:读数据 输出流:写数据 按照数据类型来分 字节流 字节输入流 字节输出流 字符流 字符输入流 字符输出流 输入流`,`输出流 字节流`,`字符流 文件字节输入流 FileInputStream package FileInput;…
面试阿里p7被问到的问题(当时我只知道第一个): @Conditional是做什么的? @Conditional多个条件是什么逻辑关系? 条件判断在什么时候执行? ConfigurationCondition和Condition有什么区别?什么时候使用ConfigurationCondition?…
先来看几个问题 通过注解的方式注入依赖对象,介绍一下你知道的几种方式 @Autowired和@Resource有何区别 说一下@Autowired查找候选者的过程 说一下@Resource查找候选者的过程 @Qulifier有哪些用法? @Qulifier加在类上面是干什么用的? @Primary是做什么的? 泛型注入用过么?…