你说的是JDK1.7以前的情况,那JDK1.8之后的呢?
时间: 2023-12-14 07:28:59 浏览: 74
jdk1.7+jdk1.8+jre1.8
JDK1.8之后,Java中的字符串是通过byte数组实现的,因此在拼接字符串时,会将所有的字符串都转换为byte数组,然后再进行拼接,这样会导致大量的内存分配和复制操作,从而影响程序的性能。为了解决这个问题,Java提供了StringBuilder和StringBuffer这两个类,它们都是可变的字符串对象,可以在拼接字符串时避免不必要的内存分配和复制操作,从而提高程序的性能。其中,StringBuilder是线程不安全的,而StringBuffer是线程安全的,因此在多线程环境中应该使用StringBuffer,而在单线程环境中可以使用StringBuilder。
阅读全文