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

news2025/1/19 23:03:12

目录

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.coloradmin.cn/o/1215381.html

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

相关文章

(二)什么是Vite——Vite 和 Webpack 区别(冷启动)

vite分享ppt,感兴趣的可以下载: ​​​​​​​Vite分享、原理介绍ppt 什么是vite系列目录: (一)什么是Vite——vite介绍与使用-CSDN博客 (二)什么是Vite——Vite 和 Webpack 区别&#xff0…

云课五分钟-05一段代码修改-AI修改C++

前篇: 云课五分钟-04一段代码学习-大模型分析C 在前一节,使用大模型工具文心一言等可以帮助分析代码,加快理解。 信息时代→智能时代,系统学习转为碎片学习。 发散思维的能力在智能时代尤为重要。 同样我们也可以借助智能化…

爬虫基础之爬虫的基本介绍

一、爬虫概述 爬虫又称网络蜘蛛、网络机器人,网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型: 通用网络爬虫(Scalable Web Crawler):抓取互联网上所有数据,爬取对象从一些种子 URL…

开源大模型部署及推理所需显卡成本必读之二

在前面的文章中,我们介绍了大模型占用显卡空间的一些分析情况,这次我们继续来看看具体量化角度上的结论。 因此,本文来来介绍一个偏具体数值量化的工作。 随着各厂商相继发布大型模型,排行榜变化频繁,新旧交替&#xf…

[云原生2.] Kurbernetes资源管理 ---- (陈述式资源管理方式)

文章目录 1. K8s管理资源的方法类别1.1 陈述式资源管理方式1.2 声明式资源管理方式1.3 GUI式资源管理方法 2. 陈述式资源管理方式2.1 命令行工具 ---- Kubelet2.1.1 简介2.1.2 特性2.1.3 kubelet拓展命令2.1.4 kubectl基本语法2.1.5 Kubectl工具的自动补全 2.2 k8s Service 的类…

外汇天眼:失败的投资者经常陷入两个误区!

一、价格与价值的混淆 在金融领域,价格和价值往往被错误视为同义词。然而,审视市场时,我们会逐渐发现一个“安全差”的重要概念,这是由巴菲特的导师本杰明格雷厄姆提出的。 安全差是指股票的内在价值与市场价格之间的差异。内在…

sklearn笔记:neighbors.NearestNeighbors

1 最近邻 class sklearn.neighbors.NearestNeighbors(*, n_neighbors5, radius1.0, algorithmauto, leaf_size30, metricminkowski, p2, metric_paramsNone, n_jobsNone)邻居搜索算法的选择通过关键字 algorithm 控制,它必须是 [auto, ball_tree, kd_tree, brute] …

分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测

分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测 目录 分类预测 | Matlab实现PSO-LSTM-Attention粒子群算法优化长短期记忆神经网络融合注意力机制多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1…

块设备 I/O 请求送达到外部设备

对于 ext4 文件系统,最后调用的是 ext4_file_write_iter,它将 I/O 的调用分成两种情况: 第一是直接 I/O。最终我们调用的是 generic_file_direct_write,这里调用的是 mapping->a_ops->direct_IO,实际调用的是 e…

[nlp] 损失缩放(Loss Scaling)loss sacle

在深度学习中,由于浮点数的精度限制,当模型参数非常大时,会出现数值溢出的问题,这可能会导致模型训练不稳定。为了解决这个问题,损失缩放(Loss Scaling)技术被引入,它通过缩放损失值来解决这个问题。 在深度学习中,损失缩放技术通常是通过将梯度进行缩放来实现的。具…

太激动了!摄像头终于有画面了!

有了放弃的想法 摄像头APP在我这里好好的,到了老外那里就不能 用。反复试了几套源码,都没有画面。后来干脆把老外说通用的APK反编译后,新做了个APP,结果还是没画面。到了这个时候,我是真的有点沮丧,准备放弃…

局部指令和全局指令的注册和使用

全局指令 先写一个js文件 import store from /store const directivePlugin {install(Vue) {Vue.directive(checkBtn, {inserted(el, binding) {// el: 指令绑定的那个元素对象 dom// binding.value: 指令等于号后面绑定的表达式的值 v-if"xxx"// 拿到el 拿到v…

Git目录不对,即当前文件夹不对应git仓库

报错信息是: fatal: not a git repository (or any of the parent directories): .git 如: 是当前文件夹不对应git仓库,一般在git clone之后,需要进入下一级文件夹才对应仓库。 在文件夹看,本层中没有.git文件夹&…

AGV|RGV小车RFID传感读卡器CK-G06A开发与用户手册技术说明

AGV|RGV小车RFID传感读卡器CK-G06A是一款基于射频识别技术的低频 RFID 标签传感器,传感器工作频率为 125KHZ,同时支持对 EMID,FDX-B 两种格式标签的读取。传感器内部集成了射频部分通 信协议,用户只需通过 RS485 通信接口接收数据…

spring学习笔记-IOC,AOP,事务管理

目录 概述 什么是spring 侵入式的概念 spring的核心 spring的优势 注意 IOC控制反转 概述 核心 容器 DI,dependency injection依赖注入 概念 注入方式 循环依赖 spring如何解决循环依赖 spring生成Bean的方式 Bean属性注入(Bean属性赋值…

使用requests库下载文件的技术解析

目录 一、引言 二、使用requests库下载文件的基本流程 三、请求设置和响应处理 1、请求头部设置 2、跟随重定向 3、处理HTTP认证 4、响应状态码检查 5、响应头处理 6、响应体处理 四、异常处理 1、网络连接问题 2、HTTP请求错误 3、文件写入错误 总结 一、引言 …

CDP体系化建设1-CDP综述

前言 从CRM到DMP,再到CDP的横空出世,数据产品领域推陈出新的速度也挺快的。 而了解CDP的人可能会说,CDP和BI一样,糅杂了太多东西,都不知道如何概括。 在我看来,CDP也是一个看似简单,但是需要借助…

2024有哪些免费的mac苹果电脑内存清理工具?

在我们日常使用苹果电脑的过程中,随着时间的推移,可能会发现设备的速度变慢了,甚至出现卡顿的现象。其中一个常见的原因就是程序占用内存过多,导致系统无法高效地运行。那么,苹果电脑内存怎么清理呢?本文将…

媒体行业的3D建模:在影视中创造特效纹理

在线工具推荐: 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 在本文中,我们将探讨 3D 建模在媒体行业中的作用,特别是它在影视特效创作…

做外贸站群效果怎么样?独立站站群是什么?

外贸站群管理系统的作用?海洋建站和站群的区别? 外贸站群,顾名思义,是指针对外贸业务而建立的多个网站或平台,因此建立有效的外贸站群对于企业来说是一种非常重要的策略。那么,做外贸站群效果怎么样呢&…