美文网首页
String 系列

String 系列

作者: xuweiqiang | 来源:发表于2019-07-05 19:57 被阅读0次

String 中的对象是不可变的,也就可以理解为常量,线程安全。AbstractStringBuilder 是 StringBuilder 与 StringBuffer 的公共父类,定义了一些字符串的基本操作,如 expandCapacity、append、insert、indexOf 等公共方法。StringBuffer 对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder 并没有对方法进行加同步锁,所以是非线程安全的。

性能

每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 StringBuilder 相比使用 StringBuffer 仅能获得 10%~15% 左右的性能提升,但却要冒多线程不安全的风险。

相关文章

  • String 系列

    String 中的对象是不可变的,也就可以理解为常量,线程安全。AbstractStringBuilder 是 S...

  • String系列

    String 类中使用 final 关键字修饰字符数组来保存字符串,privatefinalcharvalue[]...

  • 『读书笔记』—— Thinking_In_Java_13_字符串

    Thinking in java 读书笔记系列 不可变 String String 对象是不可变的,具有只读特性。...

  • 文章目录汇总

    Java 源码 String源码-Java源码系列之StringInteger、Long源码-Java源码系列之I...

  • 【golang】值类型与引用类型

    golang中分为值类型和引用类型 值类型分别有:int系列、float系列、bool、string、数组和结构体...

  • 三、字符串、字符

    字符串的定义 字符串是一系列的字符 比如"hello" 。Swift有String来表示字符串,String类型可...

  • Java源码系列之String

    前言 字符串在我们的工作场景中应用广泛,不同于基本数据类型,Java中的字符串属于对象,Java中提供了 Stri...

  • 面试系列(2)Java String

    1、常量池 Java 被编译成 class 文件时,会生成一个常量池(Constant pool)的数据结构,用于...

  • go 函数的参数传递方式

    分两种 1、值传递 值类型:基本数据类型int系列,float系列,bool,string,数组和结构体struc...

  • Swift 字符串String的常见用法

    字符串是是一系列字符的集合,Swift中的字符串通过 String 类型来表示。 一个 String 的内容可以用...

网友评论

      本文标题:String 系列

      本文链接:https://www.haomeiwen.com/subject/prryhctx.html