【每周一测】Java阶段三第三周学习

目录

1、事务四个隔离级别中,哪一个不能防止脏读

2、关于sleep()和wait(),以下描述错误的一项是()

3、以下关于Servlet生命周期说法错误的是( )

4、下列概念解释说明错误的是

5、在 JWT 中,哪一个部分可以使用非对称加密算法来保护其完整性和机密性?

6、JWT 的签名部分是用来做什么的?

7、JWT 的头部部分是用来做什么的?

8、在使用Redis实现分布式锁时,加锁命令是( )

9、关于SpringCache中的Cacheable注解,说法错误的是?

10、下面哪种 ID 生成机制可以支持高并发的 ID 生成需求?

11、JWT 的签名部分是怎么实现的?

12、下列哪个是关于事务隔离级别的正确描述

13、以下哪个注解,可以用来读取SpringBoot配置文件中的内容()

14、Springmvc提供一组注解用于替换@RequestMapping注解的,以下哪些是正确的?

15、有关静态初始化块说法正确的是?

16、下面哪个Java语句声明了一个适合于创建50个字符串对象数组的变量?

17、Redis 存在线程安全问题吗?为什么?

18、redis缓存雪崩、击穿、穿透是怎么解决的?


1、事务四个隔离级别中,哪一个不能防止脏读

解题思路: 读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。不能防止脏读

2、关于sleep()和wait(),以下描述错误的一项是()

3、以下关于Servlet生命周期说法错误的是( )

4、下列概念解释说明错误的是

5、在 JWT 中,哪一个部分可以使用非对称加密算法来保护其完整性和机密性?

签名

6、JWT 的签名部分是用来做什么的?

7、JWT 的头部部分是用来做什么的?

8、在使用Redis实现分布式锁时,加锁命令是( )

解题思路: 获取锁的时候,使用setnx加锁

9、关于SpringCache中的Cacheable注解,说法错误的是?

10、下面哪种 ID 生成机制可以支持高并发的 ID 生成需求?

解题思路: Snowflake 算法的优点是高效、可靠,并且可以支持高并发的 ID 生成需求。

11、JWT 的签名部分是怎么实现的?

12、下列哪个是关于事务隔离级别的正确描述

解题思路: 事务四个隔离级别的含义如下: 读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。 读提交,顾名思义,就是一个事务要等另一个事务提交后才能读取数据。 重复读,就是在开始读取数据(事务开启)时,还未提交前,其他事务对这行数据的修改在本事务中读不到。 Serializable 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。

13、以下哪个注解,可以用来读取SpringBoot配置文件中的内容()

14、Springmvc提供一组注解用于替换@RequestMapping注解的,以下哪些是正确的?

15、有关静态初始化块说法正确的是?

16、下面哪个Java语句声明了一个适合于创建50个字符串对象数组的变量?

17、Redis 存在线程安全问题吗?为什么?

参考答案:

其实关于 Redis 线程安全性的问题并不难理解。
Redis Server 本身是一个线程安全的 K-V 数据库 ,也就是说在 Redis Server 上执行的 指令 ,不需要任何同步机制 ,不会存在线程安全问题。
虽然 Redis 6.0 里面 ,增加了多线程的模型 ,但是增加的多线程只是用来处理 网络 IO 事件 ,对于指令的执行过程 ,仍然是由主线程来处理 ,所以不会存在多个线程 通知执行操作指令的情况。

至于为什么 Redis 没有采用多线程来执行指令 ,我认为有几个方面的原因。 Redis Server 本身可能出现的性能瓶颈点无非就是网络 IO、CPU、内存。但是 CPU
不是 Redis 的瓶颈点 ,所以没必要使用多线程来执行指令。
如果采用多线程 ,意味着对于 redis 的所有指令操作 ,都必须要考虑到线程安全问
题 ,也就是说需要加锁来解决 ,这种方式带来的性能影响反而更大。
第二个 ,从 Redis 客户端层面。
虽然 Redis Server 中的指令执行是原子的 ,但是如果有多个 Redis 客户端同 时执行多个指令的时候 ,就无法保证原子性。
假设两个 redis client 同时获取 Redis Server 上的 key1, 同时进行修改和写入,因为 多线程环境下的原子性无法被保障,以及多进程情况下的共享资源访问的竞争问题,使 得数据的安全性无法得到保障。

当然,对于客户端层面的线程安全性问题,解决方法有很多 ,比如尽可能的使用 Redis 里面的原子指令,或者对多个客户端的资源访问加锁,或者通过 Lua 脚本来实现多个指 令的操作等等。
线程安全性确实是开发中非常重要的一个知识点,所以面试的频率会特别高,大家可以 重点关注一下。

解题思路: 其实关于 Redis 线程安全性的问题并不难理解。 Redis Server 本身是一个线程安全的 K-V 数据库 ,也就是说在 Redis Server 上执行的 指令 ,不需要任何同步机制 ,不会存在线程安全问题。 虽然 Redis 6.0 里面 ,增加了多线程的模型 ,但是增加的多线程只是用来处理 网络 IO 事件 ,对于指令的执行过程 ,仍然是由主线程来处理 ,所以不会存在多个线程 通知执行操作指令的情况。 至于为什么 Redis 没有采用多线程来执行指令 ,我认为有几个方面的原因。 Redis Server 本身可能出现的性能瓶颈点无非就是网络 IO、CPU、内存。但是 CPU 不是 Redis 的瓶颈点 ,所以没必要使用多线程来执行指令。 如果采用多线程 ,意味着对于 redis 的所有指令操作 ,都必须要考虑到线程安全问 题 ,也就是说需要加锁来解决 ,这种方式带来的性能影响反而更大。 第二个 ,从 Redis 客户端层面。 虽然 Redis Server 中的指令执行是原子的 ,但是如果有多个 Redis 客户端同 时执行多个指令的时候 ,就无法保证原子性。 假设两个 redis client 同时获取 Redis Server 上的 key1, 同时进行修改和写入,因为 多线程环境下的原子性无法被保障,以及多进程情况下的共享资源访问的竞争问题,使 得数据的安全性无法得到保障。 当然,对于客户端层面的线程安全性问题,解决方法有很多 ,比如尽可能的使用 Redis 里面的原子指令,或者对多个客户端的资源访问加锁,或者通过 Lua 脚本来实现多个指 令的操作等等。

18、redis缓存雪崩、击穿、穿透是怎么解决的?

1.缓存雪崩,添加多台redis服务器,或者配置主从; 2.缓存击穿,针对热点keys,可以设置随机失效时间来解决; 3.缓存穿透,引入布隆过滤器。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32 MicroPython 图像采集及拍照功能的使用⑧

ESP32 MicroPython 图像采集及拍照功能的使用⑧ 1、摄像头应用2、图像采集5、实验结果6、按键拍照7、实验内容8、参考代码9、实验结果 1、摄像头应用 小车配有摄像头,可以使用摄像头实现拍照、图像显示、图像识别等功能。小车已经内置有我们专门移植的摄像头驱动库…

[Docker]六.Docker自动部署nodejs以及golang项目

一.自动部署nodejs 1.创建node项目相关文件 app.js代码如下: var express require(express);var appexpress();app.get(/,function(req,res){res.send(首页update); }) app.get(/news,function(req,res){res.send(首页); })//docker做端口映射的时候不要指定ip app.listen(30…

大模型重塑软件设计,南京真我加入飞桨技术伙伴,大模型生态圈成员又添一员!

为帮助伙伴更快、更好的应用大模型技术,飞桨技术伙伴体系及权益基于星河共创计划全面升级,通过丰富的场景、技术、算力、品牌等资源,为伙伴企业提供一站式的大模型资源对接,全面降低创建AI原生应用的门槛。 近日,南京…

win10家庭版系统远通过一根网线程连接另一台机器

用网线连接两个机器 打开cmd命令行 输入ipconfig,查看 复制 IPv4地址 打开 远程桌面 程序 点击连接 输入在另外一机器设置好的用户名和密码即可

docker打包chatpdf(自写)

docker打包上传 docker build -t kitelff/chatpdf:v0.1 .##修改镜像名字 docker tag c2c1a0eb4e08 kitelff/chatpdf:v0.1## push docker push kitelff/chatpdf:v0.1上传文件,测试效果

BananaPi BPI-M6(Raspberry Pi 5) Android 平板电脑镜像测试温度

我已经在本文中介绍了 全新的Banana Pi BPI-M6,并讨论了其与Raspberry Pi 5的硬件特性比较。 然后我将 Android 平板电脑固件上传到 eMMC,从而使 Banana Pi 实际可用。一开始有点坎坷,但文章中有更多内容。 在另一台电脑上,一切都…

Arcgis小技巧【16】:ArcMap的那些功能在ArcGIS Pro里都去哪儿了?

有部分小伙伴现在已经用上了ArcGIS Pro,但可能还会有些不习惯。 一个很重要的原因,原来在ArcMap中的一些功能,好像在Pro里消失了。 不排除一些功能确实被移除了,但大部分其实是因为UI的变化,给放在了别的地方。 这里…

Linux CentOS7配置网络参数

CentOS6及以前版本中主要使用ifconfig工具,查看、配置网络参数。后来对推荐使用ip命令查看配置网络参数。而centos7中,不再赞成使用ifconfig工具,取而代之的是nmcli工具,服务管理也是以systemctl工具取代了service,这些之前版本的…

学霸教你自学人工智能

在这个信息爆炸的时代,人工智能已经渗透到我们生活的方方面面。无论是语音助手、自动驾驶汽车,还是医疗诊断,人工智能都在发挥着越来越重要的作用。如果你对人工智能充满热情,希望在这个领域有所建树,那么,…

微信私域运营工具CRM

为什么要做微信私域? 客户在哪里?微信!在中国,不论男女老少,90%的人每天使用微信至少5次,每次使用时间超过90分钟,已经成为像吃饭穿衣一样的生活必需品。因此,我们的目标客户就在微…

【github】初学者使用指南

作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于新西兰奥克兰大学攻读IT硕士学位。荣誉:阿里云博客专家认证、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。跨领域…

VMware——WindowServer2012R2环境mysql5.7.14解压版安装主从复制(图解版)

目录 一、服务器信息二、192.168.132.33主服务器上安装mysql(主)2.1、环境变量配置2.2、安装2.2.1、修改配置文件内容2.2.2、初始化mysql并指定超级用户密码2.2.3、安装mysql服务2.2.4、启动mysql服务2.2.5、登录用户管理及密码修改2.2.6、开启远程访问 …

ESP32C3小飞控调试

ESP32C3小飞控调试 - 1 ESP32C3小飞控板赶在国庆节前发出打样,假期后上班就收到了样板,但是迟迟没有动手调试,这两天终于抽出时间调试了,调试过程还算顺利,基本没有遇到什么大问题,下面记录一下调试过程。…

微信可以注册小号啦,看看怎么操作

微信支持同一手机号绑定两个账号啦! 生活号和工作号可以分开啦~实用又简单! 详细步骤如下: ①点击微信-我的-设置 ②点击“切换账号” ③点击“添加账号” ④点击“注册新账号” ⑤点击“通过当前微信的手机号辅助注册” ⑥安…

建议收藏《Verilog代码规范笔记_华为》

华为verilog编程规范是坊间流传出来华为内部的资料,其贴合实际工作需要,是非常宝贵的资料,希望大家善存。至于其介绍,在此不再赘述,大家可看下图详细了解,感兴趣的可私信移知教育老师领取《Verilog代码规范…

超长圆钢在线直线度检测 告别手工测量时代

圆钢的直线度指的是它的表面形状是否呈现出直线。直线度是圆钢的重要品质要求之一,与其物理性能密切相关。在工业制造中,如果圆钢的直线度不达标,就会影响其后续的加工和使用效果,严重时甚至会造成损失。 超长圆钢的检测&#xff…

4-4有人写了一个函数

#include<stdio.h> int main(){int x,y;for(int i0;i<3;i){printf("输入x:");scanf("%d",&x);if(x<0){y(-1);printf("x%d的结果是y%d\n",x,y);}else if(x>0){y1;printf("x%d的结果是y%d\n",x,y);}else{y0;printf(&…

多表查询内连接、外连接、子查询、笛卡尔积

1.1 多表查询&#xff1a;从多张表中进行查询 仅仅使用select * from tb_emp,tb_dept查询语句会显示如下结果&#xff08;笛卡尔积&#xff1a;两个表的所有的组合情况&#xff09;其中很大部分数据是冗余的。 1.2内连接&#xff1a;相当于查询A,B表交集部分的数据&#xff08…

作为电子信息工程的学生,学完stm32后,是应该学fpga还是Linux?

作为电子信息工程的学生&#xff0c;学完stm32后&#xff0c;是应该学fpga还是Linux? 我自己也是电子信息工程专业出身&#xff0c;FPGA和Linux都是我们大三的专业课&#xff0c;都学过基础也做了基础 的项目&#xff0c;我自己的选择是Linux。最近很多小伙伴找我&#xff0c…

预包装食品备案与食品经营许可证两者的关系

在食品行业中&#xff0c;预包装食品备案和食品经营许可证是两个重要的概念。它们之间存在一定的关系&#xff0c;但又不完全相同。本文将详细介绍两者的定义、区别和联系。 一、预包装食品备案 预包装食品备案&#xff0c;是指对预包装食品的生产者或进口商进行备案登记的一种…