java高频考点 3 ~持续更新中~

java高频考点 3 ~持续更新中~,第1张

java高频考点 3 ~持续更新中~

java高频考点 1
https://blog.csdn.net/weixin_49198221/article/details/121238886
java高频考点 2
https://blog.csdn.net/weixin_49198221/article/details/122144294

1.Redis是什么?都有哪些使用场景?

1.Redis是一个缓存数据
2.点赞,点击数,评论数,缓存近期热帖,缓存文章详情信息,记录用户会话信息

2.Redis有哪些功能?

1.数据缓存功能
2.分布式锁功能
3.数据的持久化
4.支持事务
5.支持消息队列

3.什么是分布式锁?

本质上就是该进程还在运行,另一个进程又想进入,但该进程还没有执行结束,另一个只能放弃或等待再试

4.Redis持久化

1.RDB快照:快照是一次全量备份,数据是以二进制的方式序列化存储,内存非常紧凑
2.AOF日志:是连续的增量备份,是以数据修改的指令记录文本,暂用内存较大

5.Redis缓存穿透?

访问一个key对应的value在数据库中不存在,每次针对key的请求从缓存中获取不了,那么该请求都会访问到数据库中,从而可能击穿数据库
解决方案:
1.如果返回的值是为空的,那么久把该值空值缓存到Redis中去;
2.用布隆过滤器,把可能存在的哈希存到bitmap中,从而会被bitmap拦截

6.Redis缓存击穿?

如果大量的并发去请求一个已经过期的key时,Redis会嘉爱数据库的数据到缓存中,这可能会导致数据库击垮
解决方案:
使用互斥锁

7.Redis缓存雪崩?

当缓存服务器重启或在有大量的缓存集中时在某一刻失效,很可能会给数据库带来很大的访问压力
解决方案:
1.在Redis和数据库中间加一个消息队列,保重消息不会在同一时间访问数据库
2.给每个缓存请求添加一个随机事件,也避免了同时大量访问引发的集体失效.

8.如何保证缓存和数据库数据的一致性?

1.合理设置缓存获取的时间
2.增改删 *** 作时同步更新Redis,可以使用事务机制保证数据的一致性

9.JVM 主要组成部分?作用?
  1. 类加载器
  2. 运行时数据区
  3. 执行引擎
  4. 本地库接口
    组件作用: 首先通过类加载器会把java代码转换成.class文件,运行时数据区再把.class加载到内存中,而.class文件只是jvm的一套指令集规范,并不能直接交给底层 *** 作系统执行,因此需要塔顶的命令解析执行引擎,将.class翻译成底层系统指令,再交给cup去执行,而这个过程需要调用其他语言的本地库接口类实现整个程序的功能.
10.MVC的原理?

1.MVC 是一种设计模式,它实现了显示模块与功能模块的分离
2.提高了程序的可维护性,可移植性,可扩展性与可重用性
3.主要分 模型 视图 控制器
模型:主要包括业务逻辑模块,和数据模块
视图:用户与之交互的
控制器:接收请求交给模型处理,控制器只起到了连接作用

11.MVC的优点?

1.降低代码耦合性
2.有利于分工合作
3.有利于组件的重用

12.SSM(spring springMVC mybatis)和spring boot的区别?

1.SSM是spring springMVC mybatis的三个框架组合,SSM限定了只能开发java web应用
2.spring boot没有和任何MVC框架绑定,没有和任何持久层框架绑定,简化了配置

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5681065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存