面试题30天打卡-day12

这篇具有很好参考价值的文章主要介绍了面试题30天打卡-day12。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、Redis 基础类型中的 String 底层实现是什么?

Redis 中的 String 是使用简单动态字符串(SDS)实现的。SDS 是一种可变长度的字符串实现,它可以动态地调整自己的大小,而不像 C 语言中的字符串一样需要预先分配固定大小的内存空间。

SDS 在 Redis 中的优点是:

  • 空间预分配:SDS 内部的空间预分配策略避免了多次重分配的操作,从而减少了内存碎片;
  • 二进制安全:SDS 内部没有以空字符(‘\0’)来表示字符串的结尾,这样可以避免字符串中含有空字符时出现截断的问题,使得 SDS 成为一个二进制安全的字符串类型;
  • 支持缓存长度信息:SDS 内部存储了字符串的长度信息,这样可以避免每次需要获取字符串长度时都需要遍历整个字符串。

除此之外,SDS 在 Redis 中还支持了很多其他的功能,比如可以实现高效的字符串追加、高效的字符串查找和替换等。

2、Spring、SpringMVC、SpringBoot 三者之间是什么关系?

Spring 是一个非常流行的 Java 开源容器框架,提供了一种全面的编程和配置模型,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP),是一个分层的轻量级开源框架。

SpringMVC 是基于 Spring 框架的一个 MVC 框架,专注于 Web 应用程序的开发,它使用控制器(Controller)、模型(Model)和视图(View)的分离思想,用于替代servlet(处理请求,获取表单参数,表单校验等),SpringMVC是一个MVC的开源框架,springMVC相当于Struts2 + Spring。

Spring Boot 是基于 Spring 框架的快速开发框架,它提供了一种快速构建 Spring 应用程序的方式,延续了spring框架的核心思想IOC和AOP,Spring Boot简化了Spring应用的创建、运行、调试、部署等,使用开发者可以专注于Spring应用的开发,而无需过多关注XML的配置。

Springboot特性:

  • 创建独立的spring应用。
  • 内嵌Tomcat, JettyUndertow 不需要部署。
  • 提供的“starters” poms来简化Maven配置。
  • 尽可能自动配置spring应用。
  • 绝对没有代码生成和XML配置要求。

三者之间的关系

Spring MVC < Spring < Springboot

3、意向锁是什么?有什么作用?它是表级锁还是行级锁?

意向锁(Intent Lock)是一种数据库锁机制,用于在行级锁的情况下,减少锁冲突带来的性能开销。

当一个事务需要锁定某个表的某个行时,它需要先获取到行级锁,这样其他的事务就不能同时修改这行数据。但是,如果有其他事务也需要锁定这个表,比如锁定整张表进行全表扫描等,这个时候就会出现意向锁。意向锁是表级锁,它只是表示一个意向,并不是真正的锁,表明这个事务打算给这个表上行级锁。意向锁只是表明事务的意向,从而帮助优化行级锁的申请。

意向锁包括两种:

  • 意向共享锁(Intent Shared Lock,IS):表示一个事务打算在这个表的某些行上加共享锁(即多个事务可以同时读取这些行的数据,但是不能修改这些数据)。
  • 意向排它锁(Intent Exclusive Lock,IX):表示一个事务打算在这个表的某些行上加排它锁(即只有这个事务可以读取和修改这些数据)。

意向锁的作用在于,当一个事务需要获取行级锁时,需要先判断这个表是否已经存在意向锁。如果有其他事务持有排它锁或者意向排它锁,那么这个事务就需要等待;如果没有排它锁或者意向排它锁,但是有其他事务持有共享锁或者意向共享锁,那么这个事务可以获取共享锁;如果既没有排它锁也没有共享锁,那么这个事务可以获取行级锁。文章来源地址https://www.toymoban.com/news/detail-425664.html

到了这里,关于面试题30天打卡-day12的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 面试题30天打卡-day19

    TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常用的传输层协议,两者的区别比较如下: TCP UDP 可靠性 可靠 不可靠 连接性 面向链接 无连接 报文 面向字节流 面向报文 效率 传输效率低 传输效率高 安全性 容易被攻击、安全性不如UDP 也会被攻击,相对TCP来说

    2024年02月02日
    浏览(38)
  • 面试题30天打卡-day15

    Nginx是一款高性能的Web服务器软件,也可以作为反向代理服务器、负载均衡器、HTTP缓存和安全防护等多种用途。Ngnix可以将服务器上的静态文件(html、css、图片)通过HTTP协议返回给浏览器客户端。Ngnix是基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资

    2024年02月01日
    浏览(38)
  • 面试题30天打卡-day08

    物理备份:备份数据文件,将数据库的物理文件保存到一个目录。MySQL可以使用xtrabackup工具进行物理备份。占用的空间大 逻辑备份:MySQL中可以使用mysqlddump进行逻辑备份,主要是备份一个sql语句,在需要恢复时执行此SQL语句即可。逻辑备份的恢复速度快,占用空间小,更灵活

    2023年04月22日
    浏览(35)
  • English Learning - L3 作业打卡 Lesson4 Day26 2023.5.30 周二

    ⏰打卡时间:2023.5.30(周二) 6:00-17:00 训练技巧顺序: 【完全听写法】➡️【车轮法】➡️【影子跟读法】 ⏱【练习时间】60 mins /ɪt ɪz ˈiːzɪ tə faɪnd maɪ ˈhʌzbənd ɪn ə kraʊd/ 语音现象描述+自身问题总结: (连读、重读、弱读、浊化、断句、语调等) 在人群中很容易找到

    2024年02月07日
    浏览(55)
  • 挑战30天学完Python:Day12 模块

    🎉 本系列为Python基础学习,原稿来源于 30-Days-Of-Python 英文项目,大奇主要是对其本地化翻译、逐条验证和补充,想通过30天完成正儿八经的系统化实践。此系列适合零基础同学,或仅了解Python一点知识,但又没有系统学习的使用者。总之如果你想提升自己的Python技能,欢迎

    2023年04月27日
    浏览(37)
  • 代码随想录打卡—day41—【DP】— 8.26+27 DP基础3

    343. 整数拆分 一开始做 没有思路,学习了题解才,ac代码: 后来仔细看题解,其实 for - j 的次数可以优化—— 注意 枚举j的时候,是从1开始的。从0开始的话,那么让拆分一个数拆个0,求最大乘积就没有意义了。 优化1: j 的结束条件是 j i - 1 ,其实 j i 也是可以的,不过

    2024年02月11日
    浏览(39)
  • 【LeetCode-经典面试150题-day12】

    20.有效的括号 题意: 给定一个只包括  \\\'(\\\' , \\\')\\\' , \\\'{\\\' , \\\'}\\\' , \\\'[\\\' , \\\']\\\'  的字符串  s  ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 【输入样例】s=\\\"

    2024年02月11日
    浏览(39)
  • 第四章--Redis基础知识和面试题

    Redis 是一个基于内存的k-v结构数据库 基于内存存储,读写性能高 适合存储热点数据(热点商品, 资讯, 新闻) 企业应用广泛 Redis入门 简介: 应用场景 ⭐缓存 任务队列 消息队列 分布式锁 数据类型 常用命令 redis常用命令链接 redis.net.cn java中操作redis 介绍 :::info redis启动默认有16个

    2024年02月07日
    浏览(48)
  • 30道软件测试基础面试题!(含答案)

    1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前 3 年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。

    2024年02月02日
    浏览(59)
  • 安全测试面试的30道基础概念题目与参考答案

    这篇文章主要介绍了关于安全测试面试的30道基础概念题目与参考答案,总结分析了安全测试中常见的各种概念、原理与注意事项,需要的朋友可以参考下 看看这些面试题目,目的是了解安全测试的基本概念。每一道题目都可以展开到一定的深度和广度。 这里仅仅是一个抛砖引

    2024年04月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包