对于String和Stringbuffer的区别相信大家都已经很清楚了,String是不变,Stringbuffer是可变,也就是说,String的值每一次修改时都会产生一个新的对象,然后指针在指向这个对象,而Stringbuffer不会每一次修改值都会覆盖掉原来的值,但是在jdk1.5的版本后出现出现了一个新的类就是Stringbuilder类,有很多人就问了,既然可以变的和不可以变得都有了为什么还需要StringBuilder呢?
Stringbuffer(线程安全)
StringBuilder(非线程安全)
线程安全的概念: 网络编程中许多线程可能会同时运行一段代码。当每次运行结果和单独线程运行的结果是一样的,叫做线程安全。为了达到线程的安全,就会一定的降低程序的性能,相信大家应该已经明白了为什么还要出这个StringBuilder了吧,StringBuilder的性能要比Stringbuffer高,就是因为它不考虑线程的安全,所以在不考虑线程的安全的情况下,推荐使用StringBuilder,其实我们不必过多的去考虑这个问题。