java基础
浅谈对String,StringBuilder,StringBuffer的认识
String类是final修饰的类,final修饰的类不能够被继承。String类是字符串类,常常被用来进行字符串的操作,但是String的值是不可变的,这就导致每次对String的操作都会产生新的对象,效率低下,而且浪费了大量的内存空间。
由于对字符串的操作产生了大量的对象,浪费空间,为了解决这种状况StringBuilder应运而生,StringBuilder是可变字符串,能够解决字符串操作浪费空间的问题,并且不产生新的对象。但是StringBuilder线程不安全。
为了解决线程安全的问题StringBuffer应运而生,StringBuffer之所有线程安全是因为StringBuffer几乎所有的方法都加入了Synchronized,但是正是因为加入了Synchronized同步锁,使得速度速度变慢,而StringBuilder没有同步锁,所以它的访问速度要比StringBuffer快。
String:使用与少量字符串操作的情况,大量的操作浪费空间,效率低下。
StringBuilder:使用与单线程下在字符缓冲进行大量的操作的情况,它是线程不安全的。
StringBuffer:使用多线程下在字符缓冲区进行大量的操作的情况,它是线程安全的
相关推荐
zhuyonge 2020-07-26
Hy 2020-11-13
luohui 2020-06-26
Bellboy 2020-04-22
ahnuzfm 2020-02-24
waitui00 2020-02-02
luohui 2020-01-31
mbcsdn 2020-01-04
zxingli 2020-01-03
明月清风精进不止 2019-12-31
muchlab 2015-06-30
YAQSecurity 2019-07-01
广西信息安全学会 2015-06-30
84457708 2019-06-26
80510692 2014-09-15
welldum 2019-06-25
wasdzjh 2012-06-15
qinshang 2011-06-22