java String StringBuffer 和 StirngBuilder

原创 2018年04月17日 19:54:11

1,先看String 定义的两种方式: String str = "abc"; String str = new String("abc"); 一旦定义 String 就不能改变,这个可以通过源码去看 

有这样的面试题:以下语句创建了几个对象?

                String str1 = new String("abc");

答案是:如果之前常量池里有“abc”了,就在堆中创建一个对象;如果常量池里没有“abc”对象,则先在常量池中把”abc”创建出来,然后再到堆空间中创建对象. 

    这个可以通过代码去验证:String str1 = new String("abc");  String str2 = "abc";   System.out.println(str1==str2); 去判断

2,StringBuffer 查看源码:类似于String的字符缓冲区,是一个容器 其内部维护了一个字符数组,用于存储字符


我们查看源码发现 StringBuffer 类里面都是一些 同步方法(synchronized)是线程安全的。

3,StringBuilder 同样我们看源码,同样是定义 16 大小的长度。这里我就不贴图了。里没有同步方法,所以它是线程不安全的。

4,线程安全是在并发的时候回出现的问题,线程安全相对于线程不安全代码的效率就高。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SmallRedShoes/article/details/79979288

中国计算机软件专业技术资格和水平考试问答

   问:这项考试与其他考试的区别?   答:该考试是由国家人事部和信息产业部组织的国家级考试。虽然参加考试的人可以是从事软件开发的专业人员,也可以是非专业人员;但考试的标准是按软件专业水平设置的,而...
  • stanely
  • stanely
  • 2001-04-13 18:08:00
  • 685

Java中Spring,SpringBuffer和SpringBuilder的区别

1.StringString对象是不可变的。String类中每一个看起来会修改String值的方法(如upcase等),实际上都是创建了一个全新的String对象,以包含修改后的字符串内容,而最初的S...
  • Cat_likeFishs
  • Cat_likeFishs
  • 2018-03-07 23:00:24
  • 101

java那点事——StringBuffer与StringBuilder原理与区别

今天去多玩YY笔试Java开发类职位,这个还是要看看能不能在广州找个好的工作!! Java类的笔试题中有个简单题是“StringBuffer与StringBuilder的区别,它们的应用场景...
  • shi1122
  • shi1122
  • 2012-10-09 19:49:53
  • 13559

Java基础之String、StringBuffer与StringBuilder的区别及应用场景

1 String、StringBuffer与StringBuilder区别 (1)区别 String内容不可变,StringBuffer和StringBuilder内容可变; StringBui...
  • chenliguan
  • chenliguan
  • 2016-07-14 18:35:39
  • 7848

Java StringBuilder和StringBuffer源码分析

Java StringBuilder和StringBuffer源码分析
  • jingshenbusi
  • jingshenbusi
  • 2017-07-15 11:16:38
  • 107

<em>java</em>重点之String<em>Builder</em>讲解

<em>java</em>中String<em>Builder</em>,String<em>Buffer</em>,Vector的区别 立即下载 上传者: gb_wxzqq 时间: 2011-01-24 综合评分: 3 积分/C币:3 2010新版<em>Java</em>教程、<em>java</em>培训ppt课件...
  • 2018年04月16日 00:00

Java 中String Buffer 和 StringBuilder类

在Java 中,除了可以使用String 类来存储字符串,还可以使用StringBuffer 类或者StringBuffer类来存储字符串,那么他们之间有什么区别呢? String 类具有不可变性。如...
  • qq_33557220
  • qq_33557220
  • 2017-02-14 10:06:38
  • 67

stringbuffer与stringbuilder的区别

1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字...
  • u012768474
  • u012768474
  • 2016-06-04 14:41:58
  • 192

Java源码分析之StringBuilder,StringBuffer

这两个类极为相似,都是继承自AbstractStringBuilder,并且都实现了Serializable, CharSequence,区别也很明显,StringBuilder不支持多线程,而Str...
  • matrix5267
  • matrix5267
  • 2017-03-16 15:29:01
  • 145

Java的String与StringBuffer、StringBuilder的性能比较

1.先看下测试代码 测试代码如下:(这个是借鉴别人的) package com.gbicc.thread; public class StringTest { private void fun...
  • qinde025
  • qinde025
  • 2012-06-08 14:36:09
  • 2421
收藏助手
不良信息举报
您举报文章:java String StringBuffer 和 StirngBuilder
举报原因:
原因补充:

(最多只允许输入30个字)