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的线程安全性,支持多线程环境。具体如何实现的线程安全,代码量很大,自己细细品味吧!
Java的JDK下StringBuffer与StringBuilder的区别的更多相关文章
- java中String、StringBuffer、StringBuilder的区别
java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...
- Java基础——java中String、StringBuffer、StringBuilder的区别
(转自:http://www.cnblogs.com/xudong-bupt/p/3961159.html) java中String.StringBuffer.StringBuilder是编程中经常使 ...
- Java:String、StringBuffer和StringBuilder的区别
1 String String:字符串常量,字符串长度不可变.Java中String是immutable(不可变)的. String类的包含如下定义: /** The value is used fo ...
- Java的String、StringBuffer和StringBuilder的区别
1.String 2.Stringbuffer 3.StringBuilder 4.三者之间的区别 5.使用策略 1.String public final class String implemen ...
- Java中String,StringBuffer和StringBuilder的区别(转载)
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简 要的说, String 类型和 StringBuffer 类型的主要性 ...
- java中String、StringBuffer和StringBuilder的区别(简单介绍)
简单介绍 java中用于处理字符串常用的有三个类: 1.java.lang.String 2.java.lang.StringBuffer 3.java.lang.StrungBuilder 三者共同 ...
- Java中String、StringBuffer和StringBuilder的区别
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6581009.html 在编程中,对于字符串拼接,我们可以用String类重载的+或concat(str).S ...
- Java中String,StringBuffer,StringBuilder的区别及其使用
由于笔试面试经常会问到这个问题,所以在这里先把这些问题搞清楚. String:自JDK1.0开始即有,源码中对String的描述: "Strings are constant; their ...
- java中String,StringBuffer,StringBuilder的区别
String: 1,是字符串常量,一旦创建就不能修改.对于已经存在了的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去. 2,String也是final类,不能被继承. 3,而且S ...
随机推荐
- 【洛谷】【搜索(dfs)】P3956 棋盘
题目传送门:戳 题目描述: 有一个 \(m * m\) 的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你所站在的位置必须是有颜色 ...
- Java Web开发中的乱码问题
POST方法乱码: 1:存在乱码的示例: 前端页面: <%@ page language="java" contentType="text/html; charse ...
- php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)
(一)php获取两个数组相同元素 array array_intersect(array $array1, array $array2, [, array $...]) array array_ ...
- nargin与varargin的用法
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能.通常可以用它来设定一些默认值.如下例所示: 函数文件 examp.m function fout=examp(a,b, ...
- Android Universal Image Loader java.io.FileNotFoundException: http:/xxx/lxx/xxxx.jpg
前段时间在使用ImageLoader异步加载服务端返回的图片时总是出现 java.io.FileNotFoundException: http://xxxx/l046/10046137034b1c0d ...
- Omi框架学习之旅 - 通过对象实例来实现组件通讯 及原理说明
组件通讯不是讲完了吗(上帝模式还没讲哈),怎么又多了种方式啊. 你484傻,多一种选择不好吗? 其实这个不属于组件通讯啦,只是当父组件实例安装和渲染完毕后,可以执行installed这个方法(默认是空 ...
- MFC入门(二)-- 提取输入框的字符串(定时关机的小程序)
上篇文章已经让我们有了对于MFC最简单直观的认识,但貌似并无太大的交互性可言,而且其实也没有涉及到数据的交互,所以本文通过做一个时间可以调节的定时关机的Demo来演示. MFC入门(一)地址:http ...
- Shiro的认证授权
shiro安全框架入门整理 package com.shiro.test; import org.apache.shiro.SecurityUtils; import org.apache.shiro ...
- java算法----排序----(2)选择排序
package log; public class Test4 { /** * java算法---选择排序 * * @param args */ public static void main(Str ...
- 【LeetCode191】Number of 1 Bits★
1.题目 2.思路 方法一:常规方法. 方法二:给面试官惊喜的解法. 3.java代码 方法一代码: public class Solution { // you need to treat n as ...