当前位置: 首页 > news >正文

面试题30天打卡-day10

1、String 和 StringBuffer、StringBuilder 的区别是什么?

String、StringBuffer、StringBuilder主要的区别在于执行效率和线程安全上。

String:String字符串常量,意味着它是不可变的,导致每次对String都会生成新的String对象,执行效率低。

StringBuffer: 它是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量

StringBuilder: 它作为一种可变字符串类型,它和String的不同在于StringBuilder可以对字符串进行,拼接、反序、替换、删减、插入等操作,进行操作时每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象。

执行速度线程安全使用场景
String最差安全少量的字符串操作
StringBuffer中等安全多线程下的大量字符串操作
StringBuilder最快不安全单线程下的大量字符串操作

2、MySQL 中的索引是怎么实现的?B+ 树是什么,B 树和 B+ 树的区别,为什么 MySQL 要用 B+ 树?

在MySQL中索引主要是通过B+树实现,

B+树和B树的区别是:

  1. B树的节点(根节点/父节点/中间节点/叶子节点)中没有重复元素,B+树有。
  2. B树的中间节点会存储数据指针信息,而B+树只有叶子节点才存储。
  3. B+树的每个叶子节点有一个指针指向下一个节点,把所有的叶子节点串在了一起。

3、Spring 框架中都用到了哪些设计模式?

(1)工厂模式:Spring使用工厂模式,通过BeanFactory和ApplicationContext来创建对象

(2)单例模式:Bean默认为单例模式

(3)策略模式:例如Resource的实现类,针对不同的资源文件,实现了不同方式的资源获取策略

(4)代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术

(5)模板方法:可以将相同部分的代码放在父类中,而将不同的代码放入不同的子类中,用来解决代码重复的问题。比如RestTemplate, JmsTemplate, JpaTemplate

(6)适配器模式:Spring AOP的增强或通知(Advice)使用到了适配器模式,Spring MVC中也是用到了适配器模式适配Controller

(7)观察者模式:Spring事件驱动模型就是观察者模式的一个经典应用。

(8)桥接模式:可以根据客户的需求能够动态切换不同的数据源。比如我们的项目需要连接多个数据库,客户在每次访问中根据需要会去访问不同的数据库

http://www.lryc.cn/news/61005.html

相关文章:

  • 【python】制作一个简单的界面,有手就行的界面~
  • 基于RK3568的Linux驱动开发—— GPIO知识点(二)
  • item_get-获得aliexpress商品详情API的调用参数说明
  • 【Python_Scrapy学习笔记(三)】Scrapy框架之全局配置文件settings.py详解
  • spark读写时序数据库 TDengine 错误总结
  • Web中间件常见漏洞
  • Python Web 深度学习实用指南:第三部分
  • C#基础学习--预处理指令
  • Spring Boot 接口加解密
  • 大公司为什么禁止SpringBoot项目使用Tomcat?
  • 2023年第十三届MathorCup高校数学建模挑战赛|A题|量子计算机在信用评分卡组合优化中的应用
  • linux下搭建Hbase分布式数据库
  • unity,射手游戏
  • 摒弃单一变现手段,开拓多元商业模式,破解场景单一APP盈利难题!
  • JavaEE-轻松了解网络原理之TCP协议
  • 薪资17K是一个怎样的水平?来看看98年测试工程师的面试全过程…
  • OpenCV3 和 Qt5 计算机视觉:11~12
  • R包编写流程
  • 试验GPT写文章书
  • class与typename的异同
  • OpenCV 图像处理学习手册:6~7
  • Java中的序列化与反序列化(一)
  • 3.函数、结构体、包
  • 科普丨关于 A/B 测试的十问十答
  • 尚融宝——整合OpenFeign与Sentinel实现兜底方法——验证手机号码是否注册功能
  • 几种常见的激活函数
  • MySQL-数据库,数据表的基本操作
  • IC-14W网络IC卡读写器_银河麒麟桌面操作系统V10适配测试报告
  • 面试常见问题
  • matlab数据归一化与反归一化处理