java中StringBuffer和StringBuilder之间的区别
时间:2020-02-23 14:34:07 来源:igfitidea点击:
在本教程中,我们将在Java中看到StringBuffer和StringBuilder之间的区别
StringBuffer vs StringBuilder.
| 参数 | StringBuffer | StringBuilder |
|---|---|---|
| 线程安全 | StringBuffer是线程安全的。两个线程不能同时调用stringbuffer的方法。 | StringBuilder不是线程安全的,因此两个线程可以同时调用StringBuilder的方法。 |
| 性能 | 它的性能效率较低,因为它是线程安全的 | 它更有性能效率,因为它不是线程安全的。 |
单线程环境中StringBuffer和StringBuilder之间的性能比较
package org.arpit.theitroad;
public class StringBuilderAndBufferMainTest {
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
StringBuffer sb = new StringBuffer("Java");
for (int i=0; i<100000; i++){
sb.append("2Blog");
}
System.out.println("Time taken by StringBuffer: " + (System.currentTimeMillis() - startTime) + "ms");
startTime = System.currentTimeMillis();
StringBuilder sbuilder = new StringBuilder("Java");
for (int i=0; i<100000; i++){
sbuilder.append("2Blog");
}
System.out.println("Time taken by StringBuilder: " + (System.currentTimeMillis() - startTime) + "ms");
}
}
运行上面的程序时,我们可以在下面的输出以下:
Time taken by StringBuffer: 21ms Time taken by StringBuilder: 9ms

