StringBuffer和StringBuilder的区别

 

一. StringBuffer 和 StringBuilder的区别

我们都知道 StringBuffer是线程安全的, StringBuilder 是线程不安全的, 在高并发的情况下,需要使用StringBuffer, 不考虑并发的情况下,使用StringBuiler的效率会高一些,

二.那么 为什么 StringBuilder是线程不安全的? 

在查看源码的过程中,  StringBuffer和Stringbuilder 都继承了 AbstractStringBuilder ,在 StringBuilder的 append() 方法,调用使用了 父类的 append()方法,StringBuffer和StringBuilder的区别_第1张图片, 而在父类的 append() 方法中,StringBuffer和StringBuilder的区别_第2张图片可以看出来,在450行代码中, 这个 操作是线程不安全的,  因此的出来的结论,就足以证明为什么 StringBuilder 是线程不安全的操作, 那么为什么 StringBuffer 是线程安全的呢, 请自己查看代码.

 

下面这篇文章说的 比我的更加详细, juejin.im/post/5d6228046fb9a06add4e37fe 

这里也只是自己的一个巩固.

你可能感兴趣的:(学习,Java基础)