StringBuffer笔记
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的 GC 就会开始工作,那速度是一定会相当慢的。这里尝试举个不是很恰当的例子: String S1 = “abc”; For(int I = 0 ; I < 10000 ; I ++) // For 模拟程序的多次调用 { S1 + = “def”; S1 = “abc”; }如果是这样的话,到这个 for 循环完毕后,如果内存中的对象没有被 GC 清理掉的话,内存中一共有 2 万多个了 牵扯到String里内容不断变换的时候用StringBuffer,String S1 = “This is only a” + “ simple” + “test”; 速度要比 StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”); 快出很多
String S2 = “This is only a”; String S3 = “ simple”; String S4 = “ test”; String S1 = S2 +S3 + S4; 速度则会慢很多
以上内容摘抄于http://blog.csdn.net/shirleyacount/article/details/39958371
转载于:https://www.cnblogs.com/qiangqiangqiang/p/7613684.html
StringBuffer笔记相关推荐
- StringBuilder与StringBuffer的一点笔记
StringBuilder与StringBuffer的一点笔记 toStringCache toString() append(String str) toStringCache private tr ...
- `java`学习笔记(十二)`Java`--`String``StringBuffer``StringBuilder`
Java–String&&StringBuffer&&StringBuilder 文章目录 `Java`--`String`&&`StringBuffe ...
- java学习笔记(十)----String类和StringBuffer类
***String类和StringBuffer类 -------------------------- String类对象中的内容一旦被初始化就不能再改变 StringBuffer类用于封装内容可以改 ...
- Java学习笔记20(String类应用、StringBuffer类、StringBuilder类)
1.获取指定字符串中大小写和数字的个数: package demo;public class StringTest {public static void main(String[] args) {g ...
- 黑马程序员——【学习笔记】集合——String、StringBuffer 以及集合
------- android培训 . java培训 .期待与您交流!---------- 1 String类的特点: 1.1 字符串对象一旦被初始化就不会被改变. 1.2 String覆写Objec ...
- JAVASE学习笔记 Java中的常用类--StringBuffer类、StringBuilder类
1.StringBuffer类概述 在Java中我们如果对字符串进行拼接操作,每次拼接都能构建一个新的String对象,这样操作既费时有浪费时间,StringBuffer类就能解决这个问题. Stri ...
- Java笔记(5)-String、StringBuffer、StringTokenizer、Date、Calendar
浮云一别后,流水十年间.-–韦应物<淮上喜会梁川故人 / 淮上喜会梁州故人> String类 构造字符串对象 Java专门提供了处理字符串的String类,在java.lang包中默认引入 ...
- String、StringBuffer、StringBuilder笔记
String.StringBuffer.StringBuilder 三者都是操作字符串的类,底层均为char型数组存储. 执行效率: StringBuilder > StringBuffer & ...
- JAVA学习笔记:concat, StringBuffer ,append,insert
concat: String a=new String ("asd");a=a.concat("qwe");//如果没有等于a,则不会在后面接qweSystem ...
最新文章
- 命令行是你的至交好友
- Spring之AOP由浅入深
- 微软向马斯克的人工智能项目OpenAI投资10亿美元
- python format函数实例_Python字符串格式化,format格式化函数详细使用
- 球迷福利!Next VR本周将直播三场ICC比赛
- Java高新技术 枚举
- 跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现
- 【LeetCode】剑指 Offer 56. 数组中数字出现的次数
- [转载] python格式化字符串漏洞_从两道CTF实例看python格式化字符串漏洞
- .Spark Streaming(上)--实时流计算Spark Streaming原理介
- 自定义事件和jQuery插件
- break用于什么场景python_break语句陷入循环
- 前端面试有这几篇就够了--HTML篇
- 电镜的成像原理-透射电镜成像原理2
- Buckhorn跳羚声卡驱动安装设置方法
- 安卓项目迁移androidX(为何需要迁移,迁移遇到的问题及解决),必须迁移,早动早省事
- 微信小程序 环形进度条_微信小程序实现圆形进度条
- 相机的内参会改变吗_关于相机内参中的焦距fx和fy
- android 后台自动拍照,Android实现后台服务拍照功能
- matlab 数值计算课 二阶微分方程-龙格库塔方法 ODE45