• StringBuffer与StringBuilder的区别比较


    关于AbstractStringBuilder

      首先通过查看源码发现,StringBuffer与StringBuilder都继承自AbstractStringBuilder抽象类。而AbstractStringBuilder类又实现了Appendable, CharSequence两个接口。这两个接口主要是实现可扩展和序列化。

      

     public final class StringBuffer
        extends AbstractStringBuilder
        implements java.io.Serializable, CharSequence
    {
    public final class StringBuilder
        extends AbstractStringBuilder
        implements java.io.Serializable, CharSequence
    {

    关于StringBuffer和StringBuilder

    通过查看StringBuffer部分源码,发现StringBuffer中的方法都采取了synchronized关键字,即方法都是采取线程锁的方式。而这些是StringBuilder所没有的,所以StringBuffer是线程安全的,但StringBuilder不是。同时,在大部分情况下StringBuilder的速度要快于StringBuffer。

     1     @Override
     2     public synchronized void setLength(int newLength) {
     3         toStringCache = null;
     4         super.setLength(newLength);
     5     }
     6 
     7     /**
     8      * @throws IndexOutOfBoundsException {@inheritDoc}
     9      * @see        #length()
    10      */
    11     @Override
    12     public synchronized char charAt(int index) {
    13         if ((index < 0) || (index >= count))
    14             throw new StringIndexOutOfBoundsException(index);
    15         return value[index];
    16     }
    17 
    18     /**
    19      * @since      1.5
    20      */
    21     @Override
    22     public synchronized int codePointAt(int index) {
    23         return super.codePointAt(index);
    24     }
  • 相关阅读:
    webform传值
    webform控件以及使用
    SQL Server 基本数据类型
    数据库设计三大范式
    第一阶段考试
    弹出层
    三级联动日期选择
    DOM例题
    JS方法
    DOM
  • 原文地址:https://www.cnblogs.com/vi3nty/p/8484248.html
Copyright © 2020-2023  润新知