zoukankan      html  css  js  c++  java
  • String,StringBuffer与StringBuilder的区别

    1.三者在执行速度方面的比较StringBuilder >  StringBuffer  >  String
    2.String <(StringBuffer,StringBuilder)的原因
    1 String:字符串常量
    2 StringBuffer:字符创变量
    3 StringBuilder:字符创变量
    4 从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。
    String最慢的原因:为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

    3.StringBuilder与 StringBuffer

    1 StringBuilder:线程非安全的
    2 StringBuffer:线程安全的
    3 当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。
    当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。

    对于三者使用的总结 

    1.如果要操作少量的数据用 = String
    2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
    3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
      String,StringBuffer与StringBuilder的区别
      String:字符串常量
      StringBuffer:字符串变量(线程安全)
      StringBuilder:字符串变量(非线程安全)
  • 相关阅读:
    drf中的请求模块和渲染模块
    drf基础
    vue中的路由传参及跨组件传参
    vue项目环境搭建与组件介绍
    vue基础指令了解补充及组件介绍
    整理的几个防止刷新后退重复提交数据的方法
    程序员心灵之塔
    怎么样才是好的程序员
    using在namespace里面还是外面有区别吗
    高级.net工程师必备
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12885620.html
Copyright © 2011-2022 走看看