面试题随笔总结(二)

  1. mybatis的一级二级缓存

mybatis的的一级缓存是SqlSession级别的缓存,一级缓存缓存的是对象,当SqlSession提交、关闭以及其他的更新数据库的操作发生后,一级缓存就会清空。
二级缓存是SqlSessionFactory级别的缓存,同一个SqlSessionFactory产生的SqlSession都共享一个二级缓存,二级缓存中存储的是数据,当命中二级缓存时,通过存储的数据构造对象返回。查询数据的时候,查询的流程是二级缓存>一级缓存>数据库。

  1. Class.forName和ClassLoader的区别

第一个不但类加载还初始化static
第二个只加载类

  1. SpringBoot Starter原理

注解的扫描,tomcat的配置,视图解析器的配置,自动配置持久层,自动配置日志框架,Spring事务管理器

  1. 索引在哪存储

存储在硬盘,sql启动读入内存,工作在内存

  1. redis缓存击穿和雪崩

某一个缓存失效的瞬间,接受了高并发,就是击穿
一堆缓存失效的瞬间,接受了高并发,就是雪崩

  1. 异或是啥意思

相同为1,不同为0

  1. 进程创建的四个步骤
    1 .申请一个空闲的PCB
    2 . 为新进程分配资源
    3 . 为新进程的PCB初始化
    4 . 将新进程加入到就绪队列

  2. GC Roots是什么

可达性分析的起点:从“GC Roots”对象开始向下搜索,如果一个对象到“GC Roots”没有任何引用链相连,说明此对象可以被回收

  1. 哪些对像可作为gc roots

1 . 虚拟机栈(栈帧中的本地变量表)中引用的对象。
2 . 方法区中类静态属性引用的对象。
3 . 方法区中常量引用的对象。
4 . 本地方法栈中JNI(即一般说的Native方法)引用的对象

  1. 本地方法是啥
    在这里插入图片描述
  2. Spring框架中Bean的5个作用域?

singleton单例:是spring默认缺省的,全局只有一个对象。

prototype原型:每次都是新的Bean实例,有状态的Bean建议用此类型。

request:一次Http请求中,容器返回同一实例Bean,仅在当前Http Request内有效

session:一次Http Session中,容器返回同一实例Bean,仅在当前Session内有效。

global session:一个全局的Http Session中,容器返回同一个实例Bean。

  1. 什么是自旋锁?

类似于互斥锁,一个资源被锁住,另一个线程要访问,但是被阻塞了,那就只能进行不断的循环访问,但是不能一直busy waiting,要设置循环次数。

  1. Arrays.sort的特点?

[length]47以下用插入,47-286用双轴快速排序,286+连续性好用归并,286+连续性不好用快排

  1. RPC算WebService吗?

WebService是RPC的一种实现

  1. 实例化的几种方法

clone,反序列化,反射

  1. 初始化和实例化怎么区分

假设Student stu = new Student();如果Student类没有被加载过,那就是先初始化再实例化,如果加载过,就是直接实例化。

  1. 什么是反射

反射就是在运行过程中获取类的信息,并能调用类的方法

  1. Servlet生命周期

加载,初始化,使用,销毁。

  1. Servlet使用阶段的步骤

http请求先存储到Dispatch Servlet容器,然后经过Servlet Adapter进行过滤一下,经过Servlet Mapping进行匹配路由地址,根据地址解析到控制层的接口,然后控制层通过接口层的方法,对Model进行ORM,执行结束,资源释放。

  1. 事务的四大属性

原子性 一致性 隔离性 持久性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值