StringBuffer与StringBuilder差别
2024-10-19 10:08:00
从JDK源代码能够看出,StringBuffer和StringBuilder都是继承自AbstractStringBuilder,事实上这两个类的功能实现都是在AbstractStringBuilder实现的。两个子类仅仅是简单地调用了一下super的方法。
区别在于StringBuffer的每一个方法都加了synchronized修饰符。而StringBuilder没有,因此StringBuffer是线程安全的。而StringBuilder不是。
注:普通情况下。似乎没实用到多线程共享字符串连接的情况,所以通常能够单纯的使用StringBuilder。毕竟synchronized还是略微有点时间开销的。
另一点:StringBuffer是JDK 1.0就加入的,StringBuilder是JDK 1.5才加入的。在代码写的字符串相加操作中。JDK1.5之前JVM是自己主动转为StringBuffer实现的,JDK1.5之后。自己主动转为StringBuilder实现。
最新文章
- CookContainer 序列化保存
- HDU 2836 (离散化DP+区间优化)
- 205 Isomorphic Strings
- HDU1242 Rescue
- SqlSever基础 dateadd year,增加五年
- 漫游Kafka设计篇之消息传输的事务定义
- [Javascript]jquery $(document).ready() 与window.onload的区别
- 【转】ASP.NET MVC教程
- effective C++ 读后笔记
- Java基础知识强化05:不借助第三个变量实现两个变量互换
- MySQL 元数据
- Troubleshooting(updating...)
- 快速高效掌握企业级项目中的Spring面向切面编程应用,外带讲面试技巧
- TensorFlow从1到2(九)迁移学习
- Android SDK提供的常用控件Widget “常用控件”“Android原生”
- Python3学习之路~8.6 开发一个支持多用户在线的FTP程序-代码实现
- 未能加载文件或程序集&;quot;Newtonsoft.Json, Version=4.5.0.0
- Hibernate中报错org.hibernate.HibernateException: No CurrentSessionContext configured!
- Python中的logging模块【转】https://www.cnblogs.com/yelin/p/6600325.html
- array.js