zoukankan      html  css  js  c++  java
  • Java的JDK下StringBuffer与StringBuilder的区别

    下载JDK的源码,咱自己分析下:

    用Beyond Compare打开看一下吧

    1.他俩的历史问题:

    StringBuffer:* Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.

    StringBuilder:* Copyright (c) 1994, 2008, Oracle and/or its affiliates. All rights reserved.

    看来StringBuffer比StringBuilder资历要老。

    2.他俩的祖宗派系问题:

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

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

    看来是同根同宗亲兄弟。

    3.透过名称看本质:

    用Beyond Compare粗略一看,满眼"红色"差异,无非是StringBuffer与StringBuilder的名字问题(中国鲤鱼与美国鲤鱼是一回事,中国鲤鱼到美国成灾了)。

    施展“替换”大法,然后就可以优雅的品代码了。

     总得来说,除了增加或减少的一些方法外,主要是StringBuffer的一些方法比StringBuilder增加了synchronized关键字,本质目的就是为了保证StringBuffer的线程安全性,支持多线程环境。具体如何实现的线程安全,代码量很大,自己细细品味吧!

  • 相关阅读:
    set命令_Linux
    AngularJS的date 过滤器
    JMeter环境介绍
    JMeter测试计划要素
    HTTP协议的压缩及URL Encode
    fiddler配置及使用教程
    Slenium常用方法
    Selenium八大定位
    CSS实现上下左右垂直居中
    SASS用法笔记
  • 原文地址:https://www.cnblogs.com/rgqancy/p/5784450.html
Copyright © 2011-2022 走看看