技术:
1.redis长连接还是短链接?
答案:短链接,平时都是set、get没必要使用长连接。
2.spring得BeanFactory和FactoryBean有什么区别?
答案:BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似。
3.bean得生命周期
答案:
- 实例化Bean
- 设置对象属性(依赖注入)
- 注入Aware接口
- BeanPostProcessor
- InitializingBean与init-method
- DisposableBean和destroy-method
4.工作中的mysql调优
答案:档案类型用in,大字段,数据库存xml和json的分出去。
5.spring循环依赖得解决?
答案:
- 创建对象A,调用A的构造,并把A保存下来。
- 然后准备注入对象A中的依赖,发现对象A依赖对象B,那么开始创建对象B。
- 调用B的构造,并把B保存下来。
- 然后准备注入B的构造,发现B依赖对象A,对象A之前已经创建了,直接获取A并把A注入B(注意此时的对象A还没有完全注入成功,对象A中的对象B还没有注入),于是B创建成功。
- 把创建成功的B注入A,于是A也创建成功了。
6.springboot中添加自定义starter怎么做?
答案:
首先新建工程,新建自定义starter配置类和starter启动器类。在启动器类的maven配置中依赖配置类,在配置类的maven中依赖spring‐boot‐starter。在starter配置类工程中添加业务逻辑,并且在starter配置类工程的配置文件中将业务逻辑添加进容器(@Bean注解)。在starter配置类工程中添加一个spring.factories配置文件,把starter配置类工程的配置文件类全类名写进配置文件。
7.java常量池字符串常量池的理解。
答案:
如图所示,字符串直接使用"+"进行拼接JVM会进行优化(final修饰的除外,final修饰的在编译的时候已经确定了),在常量池中生成对应的字符串。如果用到了String类的构造方法,就会在堆和常量池中都创建对象,获取的对象的地址是堆中的对象,堆中的对象引用常量池的对象。
8.线程间的通信方式?
答案:共享内存和消息传递。
9.工作中遇到同时有多个项目很催,怎么排序?
答案:分成紧急重要、紧急不重要、不紧急重要、不紧急不重要的,按照顺序即可。