zoukankan      html  css  js  c++  java
  • 2.秋招复习简单整理之String、StringBuffer、StringBuilder的区别和联系

    String特点:

    1.String是不可变对象,一旦赋值创建就不变,这意味着对String的一切修改将产生一个新的字符串,比如String的subString,replace、toUpperCase、toLowerCase、trim方法都会生成一个新的字符串,一旦程序中有大量字符串修改,将在JVM中堆内存中存在很多旧的临时字符串垃圾对象。

    2.String的不变性使它是线程安全的,可以在多线程中共享而不需要使用锁,因为String不变,所以hashcode值不变,可以缓存提高效率,这也是HashMap等数据结构的key大多采用String的原因。

    3.通过双引号定义的字符串称为字符串字面量,这部分字符串会在字符串常量池创建。

    4.对于字符串的拼接+号,底层是使用的StringBuffer或StringBuilder实现的。

    结论:String不可变,StringBuffer、StringBuilder可变,StringBuffer是同步安全的,性能低于StringBuilder,StringBuilder不同步,线程不安全,但是性能高。

  • 相关阅读:
    linux网络操作 配置文件
    linux网络操作 netstat命令
    linux网络操作 防火墙相关操作
    linux网络操作 ifconfig命令
    PyCharm(IDE)集成开发环境的下载与安装
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
  • 原文地址:https://www.cnblogs.com/wenbinshen/p/11178682.html
Copyright © 2011-2022 走看看