码迷,mamicode.com
首页 > 编程语言 > 详细

java基础

时间:2019-12-03 20:10:09      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:ringbuf   解决   正是   没有   访问   字符串类   family   情况   uil   

浅谈对String,StringBuilder,StringBuffer的认识

 

String类是final修饰的类,final修饰的类不能够被继承。String类是字符串类,常常被用来进行字符串的操作,但是String的值是不可变的,这就导致每次对String的操作都会产生新的对象,效率低下,而且浪费了大量的内存空间。

由于对字符串的操作产生了大量的对象,浪费空间,为了解决这种状况StringBuilder应运而生,StringBuilder是可变字符串,能够解决字符串操作浪费空间的问题,并且不产生新的对象。但是StringBuilder线程不安全。

为了解决线程安全的问题StringBuffer应运而生,StringBuffer之所有线程安全是因为StringBuffer几乎所有的方法都加入了Synchronized,但是正是因为加入了Synchronized同步锁,使得速度速度变慢,而StringBuilder没有同步锁,所以它的访问速度要比StringBuffer快。

String:使用与少量字符串操作的情况,大量的操作浪费空间,效率低下。

StringBuilder:使用与单线程下在字符缓冲进行大量的操作的情况,它是线程不安全的。

StringBuffer:使用多线程下在字符缓冲区进行大量的操作的情况,它是线程安全的

java基础

标签:ringbuf   解决   正是   没有   访问   字符串类   family   情况   uil   

原文地址:https://www.cnblogs.com/zhao-hao/p/11978734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!