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:字符串变量(非线程安全)
  • 相关阅读:
    服务管理命令
    软件管理
    Qt软件打包与发布(windeployqt工具)
    03
    第一章 BP神经网络
    代理模式 与 Spring AOP
    java 回调机制
    HashTable 实现
    实现Singleton模式
    BST 汇总
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12885620.html
Copyright © 2011-2022 走看看