首页 > 编程知识 正文

java知识点整理,JAVA知识点总结简单

时间:2023-05-04 18:14:41 阅读:283074 作者:4200

String 是不可变类,也就是说,String对象一旦被创建,就不能被修改。当创建一个String对象之后,String的值会保存在内存里,当同样内容的对象被创建时,不会在进行值的创建,新创建的对象直接指向已经存在的String值。如果用String进行字符串操作,会产生很多的字符串对象,而且很多会是无效的对象,而这些对象是在常量区的,不会被回收(回收的区域主要是内存的 堆),所以效率很低 。

StringBuffer是可变类,并且封装了一些修改字符串的方法,比如常用的append,insert,replace等方法。同时Stringbuffer是线程安全的,基本上方法都是synchorinized ,所以多线程的时候使用比较安全。扩容:int newCapacity = value.length * 2 + 2;

StringBuilder同样是封装了很多String相关的操作,但是相对于Stringbuffer来说,它不是线程安全的,常用在单线程操作中。因为方法中并没有synchorinized,所以执行效率上,相对较高一点。Stringbuilder扩容:(newCapacity = value.length * 2 + 2)

public StringBuilder append(StringBuffer sb) 

 public synchronized StringBuffer append(StringBuffer sb) 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。