StringBuilder、StringBuffer
来源:互联网 发布:herom2数据转换gom 编辑:程序博客网 时间:2024/05/09 12:22
一直用到StringBuilder和StringBuffer,大概知道一些线程安全的区别。细化具体的区别并不是很清楚。强迫症在今天要得到满足。
顺便连上String,StringBuilder、SringBuffer三者一起做一下比较:
String 字符串是不变对象,即对象内容不可改变。若改变内容必创建新对象。字面变量创建有优化。所以在对比的时候用equals。这里可能会出现一个误区,就是字符串的字面量。创建字符串基本上都是用的字面量。那么两个相同字面量比较是否相等。
既然是两个,那么就是创建了两次,按理说是不应该相等的。但是他是存储在字符串常量池中的,JVM在运行.class文件时候就会在常量池中查找,当找到一个时,JVM会检查是否有相等的字符串在常量池中存放了堆中引用。如果找不到,就会在堆中创建一个对象,然后将它的引用存放在池中的一个常量表中。一旦一个字符串对象的引用在常量池中被创建,这个字符串在程序中的所有字面量引用都会被常量池中已经存在的那个引用代替。
StringBuilder是线程非安全的:单线程操作字符串缓冲区下大量数据使用。
StringBuilder一个可变的字符序列。此类提供一个与 StringBuffer
兼容的 API,但不保证同步。该类被设计用作StringBuffer
的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比StringBuffer
要快。
StringBuffer是线程安全的:多线程操作字符串缓冲区下大量数据使用。
- StringBuilder --StringBuffer
- stringbuilder stringbuffer
- StringBuffer/StringBuilder
- StringBuffer & StringBuilder
- StringBuffer StringBuilder
- StringBuilder StringBuffer
- StringBuilder、StringBuffer
- StringBuilder&& StringBuffer
- StringBuffer StringBuilder
- StringBuffer 、StringBuilder
- StringBuffer/StringBuilder
- StringBuffer StringBuilder
- StringBuffer StringBuilder
- StringBuffer、StringBuilder
- StringBuilder、StringBuffer
- StringBuffer StringBuilder
- StringBuilder,Stringbuffer
- StringBuilder,StringBuffer
- 设计模式之状态模式
- 有关input[text]与button的错位问题
- Activiti 5.16 用户手册
- Ubuntu配置:禁止移动设备自动弹出nautilus
- java 利用POI 读取Execel数据的真实行数
- StringBuilder、StringBuffer
- PhpStorm激活与配置
- .NET AutoCAD二次开发之路(二、直线篇)
- AI时代-人工智能入学指南
- 泛型中? super T和? extends T的区别
- C#网络爬虫抓取小说
- 心形动画
- python Django部署
- html5之Localstorage本地存储