1、StringBuffer是线程安全的,StringBuilder是非线程安全的
 
  2、对String的修改其实是new了一个StringBuilder并调用append方法,然后调用toString返回一个新的String。 StringBuffer是在StringBuilder基础上加锁,加锁是一个重量级的操作,需要调用操作系统内核来实现,比较耗时。 因此效率明显有:String<StringBuffer<StringBuilder;
  但是这个并不是绝对的,因为JVM会对String进行优化,譬如 
  3、
String str = "i"+"love"+"java";
其中的字符串在编译时就能确认,编译器会直接将其拼接成一个字符串放在常量池:"i love java";
但是若是String a = "i";    String b = "love";    String c = "java";
String str = a+b+c;
只有运行时才能确认str最终是什么,编译器并不会进行优化,是通过StringBuilder实现的。

最新文章

  1. node-sass安装不成功的解决方案
  2. Hibernate+Oracle注解式完整实例
  3. Form Submit表单提交
  4. 运用CSS和JS写的大图轮播-带箭头
  5. Web - 客户端存储的几种方式
  6. Android 保存联系人,包括部门\职位\传真\地址\照片
  7. linux编程之线性表
  8. 找到的两个php爬虫,分享一下
  9. [TypeScript] Stopping a TypeScript Build When Errors Are Found
  10. Linux下使用Eclipse开发C/C++程序
  11. Leetcode题解(十六)
  12. php多个文件上传
  13. 解决IE中placeholder的兼容问题
  14. SQL Server数据库优化的10多种方法
  15. leetcode算法:Distribute Candies
  16. ssh转发代理:ssh-agent用法详解
  17. 用HTML做登录网页
  18. c# 后台分页 jqgrid
  19. 性能测试—JMeter 常用元件(四)
  20. Centos7查询开机启动项服务

热门文章

  1. shell for mysql backup in linux
  2. 洛谷P4779 Dijkstra 模板
  3. JavaScript高级程序设计中第2、3章中细节知识点
  4. PTA 02-线性结构4 Pop Sequence (25分)
  5. [luoguP1169] [ZJOI2007]棋盘制作(单调栈)
  6. [HDU4417]Super Mario(主席树+离散化)
  7. 潜伏者(codevs 1171)
  8. 安装redis和phpredis模块
  9. HDU——2119 Matrix
  10. POJ 1724 【存在附加约束的最短路问题】【优先队列】