面试题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天打卡-day27

    消息队列是一种应用广泛的异步通信模型,可以解决分布式系统中不同组件之间的协调和通信问题。以下是一些常见的消息队列模型及其适用场景: 点对点模型(Point-to-Point Model):也被称为队列模型,消息生产者将消息发送到队列中,然后消息消费者从队列中获取消息并处

    2024年02月05日
    浏览(37)
  • 面试题30天打卡-day18

    单例是一种设计模式,应用该模式的类只会生成一个实例 ,单例模式保证了在程序的不同位置都可以且仅可以取到同一个对象实例,并提供一个访问它的全局访问点。 单列模式好处: 由于类只有一个实例,因此可以避免在多个地方创建多个实例,从而减少内存使用。 可以提

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

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

    2024年02月01日
    浏览(40)
  • 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日
    浏览(60)
  • 挑战30天学完Python:Day12 模块

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

    2023年04月27日
    浏览(38)
  • 代码随想录打卡—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日
    浏览(40)
  • 【LeetCode-经典面试150题-day12】

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

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

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

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

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

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

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

    2024年04月12日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包