zoukankan      html  css  js  c++  java
  • 在JAVA中,String,Stringbuffer,StringBuilder 的区别

    首先是,String,StringBuffer的区别

    两者的主要却别有两方面,第一是线程安全方面,第二是效率方面

    线程安全方面:

    String  不是线程安全的,这意味着在不同线程共享一个String的时候,需要先进行同步,否则会出现不同线程获得的值不同的情况,即线程不安全

    StringBuffer 是线程安全的,在不同线程中共享的时候会自动同步,不需要手动同步。

    效率方面:

    String在每次更改的时候均是重新建立一个变量,再将更改后的值赋予其中,多次更改之后会触发JVM的GC机制,占用资源

    StringBuffer每次改变的时候都是对原有变量进行改变,所以不在多次更改的时候效率更高

    其次,StringBuffer和StringBuilder的区别

    StringBuilder 是线程不安全的,但是在单线程环境中使用的话效率比stringbuffer高

    综上:

    使用的优先顺序应该是,stringbuilder >stringbuffer>string

    -----人若无名,则可专心练剑
  • 相关阅读:
    C#时间差
    centos8安装ffmpeg
    CentOS8同步时间
    安装Supervisor
    ajax 传递 token
    .net core 3.1 中 的跨域设置
    jaeger 本地编译
    Kubernates 环境搭建
    linux : find
    Linux: 文件分割和合并
  • 原文地址:https://www.cnblogs.com/u3shadow/p/4295924.html
Copyright © 2011-2022 走看看