简述StringBuilder和String、Heap与Stack的区别
1.简述StringBuilder和String的区别?
String是字符串常量。
StringBuffer是字符串变量 ,线程安全。
StringBuilder是字符串变量,线程不安全。
String类型是个不可变的对象,当每次对String进行改变时都需要生成一个新的String对象,然后将指针指向一个新的对象,如果在一个循环里面,不断的改变一个对象,就要不断的生成新的对象,所以效率很低,建议在不断更改String对象的地方不要使用String类型。
StringBuilder对象在做字符串连接操作时是在原来的字符串上进行修改,改善了性能。这一点我们平时使用中也许都知道,连接操作频繁的时候,使用StringBuilder对象。
2.Heap与Stack有何区别?
1.heap是堆,stack是栈。
2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。
3.stack空间有限,heap的空间是很大的自由区。
猜你喜欢LIKE
相关推荐HOT
GPU的工作原理
简而言之,GPU的图形(处理)流水线完成如下的工作:(并不一定是按照如下顺序) 顶点处理:这阶段GPU读取描述3D图形外观的顶点数据并根据顶点数据...详情>>
2022-11-08 09:43:27Unity常用技术点集锦(三)
FixedUpdate,固定时间间隔执行 可以在edit->project setting->time设置 update 是在渲染帧执行,和Update不同的是FixedUpdate是渲染帧执行,如...详情>>
2022-11-07 13:17:20C#的委托是什么?排序方式有哪些
C#的委托是什么?有何用处?委托类似于一种安全的指针引用,在使用它时是当做类来看待而不是一个方法,相当于对一组方法的列表的引用。用处:使...详情>>
2022-11-07 13:15:38Unity常用技术点集锦(二)
简述prefab的用处:在游戏运行时实例化,prefab相当于一个模板,对你已经有的素材、脚本、参数做一个默认的配置,以便于以后的修改,同时prefab...详情>>
2022-11-07 11:47:57