String&StringBuffer&StringBuilder区别
String
public class LianXi2 {
public static void main(String[] args) {
String str = "Hello"; //引用str指向对象"Hello"
str = str + " World"; //引用str指向对象str + " World" (str + " World"是另外一个对象)
System.out.println("str=" + str);
}
}

stringbuffer:线程安全
stringbuilder:线程不安全(性能最高)
2个类的方法没什么区别
String&Stringbuffer&Stringbuilder性能测试
package cn.com.string; /**
* StringBuliderTest
*
* @描述:StringBulider性能演示
*/
public class StringBuliderTest {
// 定义2个常量
private static final String base = "abc";
private static final int count = 2000000; /**
* 测试String性能方法
*/
public static void stringTest() {
long begin, end;
begin = System.currentTimeMillis(); // 开始时间
String test = new String(base);
for (int i = 0; i < count / 100; i++) {
test = test + "add";
}
end = System.currentTimeMillis(); // 结束时间
System.out.println("测试string所用时间:" + (end - begin));
} /**
* 测试stringbuffer性能方法
*/
public static void stringbufferTest() {
long begin, end;
begin = System.currentTimeMillis(); // 开始时间
StringBuffer test = new StringBuffer(base);
for (int i = 0; i < count; i++) {
test = test.append("add");
}
end = System.currentTimeMillis(); // 结束时间
System.out.println("测试StringBuffer所用时间:" + (end - begin));
} /**
* 测试stringbuilder性能方法
*/
public static void stringbuilderTest() {
long begin, end;
begin = System.currentTimeMillis(); // 开始时间
StringBuilder test = new StringBuilder(base);
for (int i = 0; i < count; i++) {
test = test.append("add");
}
end = System.currentTimeMillis(); // 结束时间
System.out.println("测试stringbuilder所用时间:" + (end - begin));
} /**
* mai方法
*
* @param args
*/
public static void main(String[] args) {
stringTest();
stringbufferTest();
stringbuilderTest();
} /**输出结果:
测试string所用时间:1114
测试StringBuffer所用时间:140
测试stringbuilder所用时间:63
*/
}
String&StringBuffer&StringBuilder区别的更多相关文章
- 转:String StringBuffer StringBuilder区别
转自:http://www.iteye.com/topic/522167 作者:每次上网冲杯Java时,都能看到关于String无休无止的争论.还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸 ...
- String,StringBuffer,StringBuilder区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...
- Java中String/StringBuffer/StringBuilder区别(转)
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.String <(StringBuffer,StringBuild ...
- String StringBuffer StringBuilder区别与联系
java.lang.String.java.lang.StringBuffer.java.lang.StringBuilder都是字符串类型,是Java中用于处理字符串常用的三个类.它们主要有以下区别 ...
- Java学习之String StringBuffer StringBuilder区别
1.String:对象长度是不可变的,是线程安全. 2.StringBuffer:对象长度是可变的,是线程安全. 3.StringBuilder:对象长度是可变,不是线程安全.
- String,StringBuffer,StringBuilder区别(笔记)
String类被final修饰,创建的对象为不可变对象,属于字符串常量. 而StringBuffer与StringBuilder创建的属于字符串常量. StringBuffer的方法大多用了Synch ...
- java中string , StringBuffer , StringBuilder 区别
1.String String变量的值不能改变,如果要改变String变量的值,虚拟机首先会遍历方法区中的字符串常量,如果存在需要的值,则虚拟机直接把此常量值的地址分配给String变量,如果不存在这 ...
- String StringBuffer stringbuilder 区别
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 字符串类 ,长度不可变. 字符串缓存器类, 长度可变, 线程安全, 字符串构造器类,长度 ...
- 【Java基础】String StringBuffer StringBuilder
String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...
随机推荐
- Caused by: MetaException(message:Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded or corrupt)
解决方案汇总: ()删除HDFS上的hive数据与hive数据库 hadoop fs -rm -r -f /tmp/hive hadoop fs -rm -r -f /user/hive ()删除My ...
- LeetCode 128 Longest Consecutive Sequence 一个无序整数数组中找到最长连续序列
Given an unsorted array of integers, find the length of the longest consecutive elements sequence.Fo ...
- ELK(ElasticSearch, Logstash, Kibana) v5.3.2 分布式日志收集分析最佳解决方案 基于CentOS 7 ( 一 )
[root@localhost temp]# .tar.gz -C /usr/local/ [root@localhost temp]# vim logstatsh_test.conf ======= ...
- 下载安装MariaDB Galera 10.1
因为无法访问外网, 配置官网的yum无法下载MariaDB Galera(在MariaDB 10.1 及之后内置了Galera, 不像之前那样需要独立安装) 需要在下载的包 MariaDB-10.1. ...
- struts2的执行流程
在浏览器端输入相应的访问地址>>>>把请求发送给tomact>>>>tomact判断应该交给那个webApplication>>>&g ...
- hibernate课程 初探单表映射2-4 transaction简介
1 hibernate是非自动提交.如果transaction不写的话,会只创建表结构而不插入语句. 如果不写transaction而想实现插入的功能的话,需要重写session的dowork方法 ...
- Centos6.8 Mysql5.6 安装配置教程
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS ...
- Oracle Hyperion Planning 11.1 .1:创建与管理应用程序 第1课:Planning概述
第1课:Planning概述 1.说明 Oracle Enterprise Performance Management system Oracle Enterprise Performance Ma ...
- nmon 工具的使用
原文链接:https://www.ibm.com/developerworks/cn/aix/library/analyze_aix/ 引言 nmon 工具可以为 AIX 和 Linux 性能专家提供 ...
- Google地址
Google的访问一直很不稳定,经常被墙,无意间发现以下一些地址,特此记录. https://g.ttlsa.com/ https://wen.lu/ http://sinaapp.co https: ...