美术宝

  • Spring beanfactory与applicationcontext 的区别联系

BeanFactory:
是Spring里面最低层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能;
ApplicationContext:
应用上下文,继承BeanFactory接口,它是Spring的一各更高级的容器,提供了更多的有用的功能;

  1. 国际化(MessageSource)
  2. 访问资源,如URL和文件(ResourceLoader)
  3. 载入多个(有继承关系)上下文 ,使得每一个上下文都专注于一个特定的层次,比如应用的web层
    4)消息发送、响应机制(ApplicationEventPublisher)
  4. AOP(拦截器)
    两者装载bean的区别

BeanFactory:
BeanFactory在启动的时候不会去实例化Bean,中有从容器中拿Bean的时候才会去实例化;

ApplicationContext:
ApplicationContext在启动的时候就把所有的Bean全部实例化了。它还可以为Bean配置lazy-init=true来让Bean延迟实例化;

我们该用BeanFactory还是ApplicationContent

延迟实例化的优点:(BeanFactory)

应用启动的时候占用资源很少;对资源要求较高的应用,比较有优势;

不延迟实例化的优点: (ApplicationContext)

  1. 所有的Bean在启动的时候都加载,系统运行的速度快;
  2. 在启动的时候所有的Bean都加载了,我们就能在系统启动的时候,尽早的发现系统中的配置问题
  3. 建议web应用,在启动的时候就把所有的Bean都加载了。(把费时的操作放到系统启动中完成)
  • Spring源码里有什么设计模式

  • 如果实现代理模式,怎样实现?代理模式最核心的类是哪个?

  • 项目中是否使用过设计模式?具体是怎么使用的?

  • SpringBoot 配置参数,除了在配置文件里配置,还有没有其他方式?

  • 什么时候会触发类的加载?

总体来分 分为 加载 -> 连接 -> 初始化 三个过程 其中连接 又分为 验证-> 准备 -> 解析三个步骤

加载:读取class文件,将其转化为某种静态数据结构存放在方法区中,并在堆内生成一个便于用户调用的Java.lang.Class 类型对象的过程

连接中分为三个步骤 :

验证:进一步对这个类进行验证 元数据的验证,字节码的验证 进行语法和语义的分析

准备: 为该类中定义的静态变量赋零值 注意 仅仅是静态变量

解析: 将符号引用替换为直接引用

  • 符号引用:A不知道B的直接地址,A只是用一个符号S 引用了B
  • 直接引用:A中的符号被替换为B的实际地址,为直接引用,这里还涉及到动态解析,多态,知道运行过程中发生了调用,此时虚拟机调用栈中就会得到具体的类型信息,这时候再进行解析,就能得到明确的引用。这也是为什么解析阶段有时会发生在初始化之后,这就是动态解析,用它来实现动态绑定。

解析之后 外部加载的Java类已经成功引入到你的程序之中。

初始化阶段: 此时会判断代码中是否存在主动的资源初始化动作,如果有的话,那么执行,不是值得构造函数,而是class层面的,比如成员变量的赋值,静态变量的赋值,以及静态代码块的逻辑。而只有显示的调用new指令,才会执行类的构造函数进行对象的实例化。

  • 双亲委派模型?有没有从上往下找的时候?

  • MySQL怎样避免主键冲突?datagrip中

INSERT INTO ...ON DUPLICATE KEY UPDATE

INSERT INTO table (column_list)
VALUES (value_list)
ON DUPLICATE KEY UPDATE
c1 = v1, 
c2 = v2,
...;

它会先尝试把数据插入表,如果主键冲突的话那么更新字段。

  • innodb中写select是快照读还是当前读?

  • MVCC是在RC和RR隔离级别下工作?在这两个隔离级别下,MVCC有什么区别?

  • (a,b)联合索引,使用where b= ... and a = ... 会不会使用索引

  • MySQL在设计的时候是怎样避免数据丢失的? binlog?

  • 阿里云在线上连接比较多的时候,可能延迟会比较高,这种时候该怎么处理?

5.7之后 多线程复制,可以主库并发高的问题,主库上记录事务发生的信息
主库不允许大事务 语句格式 行格式 均不允许大事务
现在主从复制是基于行格式
需要建主键,默认主键不会写到binlog里

  • Redis的主从复制过程?

  • Redis的发布订阅模式有没有用过?

  • 多线程了解吗?信号量是怎么回事?是公平的还是非公平的?

  • lock 是公平的还是非公平的? synchronize呢?

  • 公平锁,和非公平锁 有什么区别?

  • 并发问题产生的源头是什么?

你可能感兴趣的:(美术宝)