文章目录一、前言二、值可变性三、线程安全性四、时间性能排名 一、前言 此博客基于JDK1.8。 我们先用一张表格来回顾一下Java中String,StringBuilder,StringBuffer关于值可变性、线程安全性、时间性能排序、常用场景等主要区别。见下表: 数据类型 值可变性 线程安全性 时间性能排名 常用场景 String 不可变 安全 3 值不常修改(多线程中不能被修改) StringBuilder 可变 不安全 1 单线程、值常修改 StringBuffer 可变 安全 2 多线程、值常修改 接着我们由源码可以看到,Java中String类,Stri