• String、StringBuffer和StringBuilder——个人学习


    1.首先说一下他们的名称区别:

    String——字符串常量,StringBuffer——字符串变量(线程安全),StringBuilder——字符串变量(非线程安全)

    从名称就可以很明显的看出他们的基本的区别,主要区别就是String是不可变的,每一次对String类型进行改变时都会生成一个信息String对象,将原引用指向它,所以经常改变字符串的内容时最好不用String,太多无引用对象产生后Java虚拟机的GC会开始工作,降低效率。

    而StringBuffer和StringBuilder是可变的。

    2.StringBuilder是在Java5.0发布的,StringBuilder和StringBuffer都是继承自一个父类,实现了同样的接口,但是StringBuffer的大部分方法都是同步的,是线程安全的,适合用于多线程;StringBuilder是非线程安全的,适合用于单线程,并且在单线程中StringBuilder的效率要高于StringBuffer。

    3.在大多数情况下,三者的效率为:

    StringBuilder > StringBuffer > String

  • 相关阅读:
    Python inspect
    常见漏洞解析
    Linux安装常见问题
    Linux下查看系统信息
    (转)微信网页扫码登录的实现
    设计模式--六大原则
    Git 操作常用命令
    Scrapy工作原理
    PHP多维数组转一维
    归并排序(Python实现)
  • 原文地址:https://www.cnblogs.com/gsbm/p/4756112.html
Copyright © 2020-2023  润新知