- 博客(11)
- 收藏
- 关注
原创 Redis面试题
3:单线程模型:所有的请求都在一个线程中串行执行,避免了切换上下文的开销,减小了锁竞争的概率,也使用了类似事件驱动的方式处理请求,就是在等待请求的时候进入睡眠模式,有请求的时候唤醒线程,避免线程空转,提高效率。2:多路复用,异步的io,redis采用了异步的io模型,通过非阻塞的方式处理网络请求,避免了等待io的操作,减少了线程切换的开销,和上下文切换的过程。备份缓存:通过缓存集群和数据同步,备份缓存数据,在缓存失效的时候可以从备份中获取数据。1:redis的缓存击穿,缓存雪崩,缓存穿透。
2023-07-09 00:18:54
63
1
原创 JAVA框架知识点
5:dispatcherselvet使用viewreslove解析modelandview并且找到正确的视图返回给用户,同。2:dispatcherservelt通过合适的handmaping找到控制处理器,请求中的url决定使用那个控制。4:controller执行完成后返回相应的modelandview。并返还给dispatcherservelt。6:视图呈现,将视图返回给用户,并由服务器端进行渲染。3:找到合适的控制器进行相应的逻辑操作。1:springmvc的工作交流谈谈你是如何理解的?
2023-06-12 15:54:59
52
原创 MYSQL试题
利用version机制是乐观锁最常用的实现方式,数据每修改一次,version就+1,在查询的时候。将version一起查出,在与第一次的version进行对比,如果是一致的就更新,否则返回失败。不可重复读:事务a多次读取一条数据,但事务b在事务a读取的过程中,是数据进行了修改并。读取到的是当前事务的快照版本,事务对数据的修改都会创。脏读:用户a读取了用户b提交的事务,然后用户b回滚了事务,则用户a就出现了脏读。乐观锁:顾名思义,保持乐观的状态,认为你的事务都是不冲突的,所以只有在你提交的时。
2023-06-12 11:22:17
97
原创 JAVA基础自我总结
方法实现不同:接口中所有方法都是未经实现的,需要实现类来具体实现接口中的方法;实现方式不同:接口是通过interface关键字定义的、只包含常量和方法声明的未经实现的实体,而抽象类是通过abstract关键字定义的、可以包含抽象方法和非抽象方法的类。封装:封装是一种将数据和对数据的操作进行组合的机制,将类的成员变量与成员方法封装在一起,使得外部无法直接访问和修改类的内部状态。继承:继承是一种复用已有类的机制,允许新的类继承原来类的全部或部分成员属性和方法,并允许在此基础上增加新的成员属性和方法。
2023-06-11 14:06:14
100
1
原创 面试题分享
答:以arrylist和linkedlist举例,arrylist是一个数组的形式,具有角标,因此arrylist的查询效率非常快,时间复杂度为o(1),但插入和查出效率低,因为插入或删除一条数据需要改变他前面和后面数据的下标,并且在创建arrylist时需要确定好(他的长度默认是10),如果创建arrylist时没有确定好他的大小,可能会造成内存占比过大,或数组过小,并且arrylist他需要连续的内存空间。优点:没加锁,线程安全,延迟加载的目的,内部不使用不会加载该类。
2023-06-10 18:57:51
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人