(单选题)
下列说法正确的是( )。
A.String每一次“+”都不会新生成一个对象
B.StringBuffer和String均为线程安全的
C.StringBuilder是线程安全的
D.String适用于频繁改变字符串的情况
参考答案:B
参考解析:
String字符串常量(线程安全)
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
String类型和StringBuffer类型的主要性能区别其实在于String是不可变的对象,因此在每次对String类型进行改变的时候其实都等同于生成了一个新的String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM的GC就会开始工作,那速度是一定会相当慢的。选项ACD错误,不当选,故本题正确答案选B。
知识点:计算机系统概述 计算机 计算机基本知识 通用 公基
