青海微网站建设,ide 在线 wordpress,各大平台推广,明星百度指数排名1、String 和 StringBuffer、StringBuilder 的区别是什么#xff1f;
String、StringBuffer、StringBuilder主要的区别在于执行效率和线程安全上。
String#xff1a;String字符串常量#xff0c;意味着它是不可变的#xff0c;导致每次对String都会生成新的String对象
String、StringBuffer、StringBuilder主要的区别在于执行效率和线程安全上。
StringString字符串常量意味着它是不可变的导致每次对String都会生成新的String对象执行效率低。
StringBuffer 它是可变类和线程安全的字符串操作类任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量当字符串大小没有超过容量时不会分配新的容量当字符串大小超过容量时会自动增加容量
StringBuilder 它作为一种可变字符串类型它和String的不同在于StringBuilder可以对字符串进行拼接、反序、替换、删减、插入等操作进行操作时每次都会对 StringBuffer 对象本身进行操作而不是生成新的对象。
执行速度线程安全使用场景String最差安全少量的字符串操作StringBuffer中等安全多线程下的大量字符串操作StringBuilder最快不安全单线程下的大量字符串操作
2、MySQL 中的索引是怎么实现的B 树是什么B 树和 B 树的区别为什么 MySQL 要用 B 树
在MySQL中索引主要是通过B树实现
B树和B树的区别是
B树的节点(根节点/父节点/中间节点/叶子节点)中没有重复元素B树有。B树的中间节点会存储数据指针信息而B树只有叶子节点才存储。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桥接模式可以根据客户的需求能够动态切换不同的数据源。比如我们的项目需要连接多个数据库客户在每次访问中根据需要会去访问不同的数据库