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