java基础

Posted zhao-hao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础相关的知识,希望对你有一定的参考价值。

浅谈对String,StringBuilder,StringBuffer的认识

 

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

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

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

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

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

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

以上是关于java基础的主要内容,如果未能解决你的问题,请参考以下文章

java语法基础,具体内容

Java基础(十五):异常处理

java基础测试题

Java基础| Java概述与基础语法案例

夯实Java基础系列目录

一道java基础理论题