龙空技术网

Java-字符串缓冲区新教程来啦

java自学成才 110

前言:

目前姐妹们对“java 缓冲区”大约比较看重,小伙伴们都想要分析一些“java 缓冲区”的相关内容。那么小编同时在网上网罗了一些有关“java 缓冲区””的相关知识,希望小伙伴们能喜欢,各位老铁们快快来了解一下吧!

视频加载中...

1. 字符串缓冲区

1.1. 字符串缓冲区介绍

1.1.1. 频繁修改字符串的问题

需求:将数组中的内容转换为一个字符串输出;

问题:这个程序中有没有什么可以改进的地方?

问题:在这段程序中,在循环里面没执行一次循环,都要对字符串str修改两次,因为字符串是常量值,不能改,所以每修改一次,都会新创建一个字符串对象;

而这个需求中我们只需要最后一个字符串对象,所以循环中创建的大量对象都是无用的,都是内存浪费;

使用字符串缓冲区可以解决这种问题;

结论:

当需要对字符串频繁的修改时,就应该使用字符串缓冲区,避免因为大量创建字符串对象而造成的内存浪费;

1.1.2. 缓冲区的概念

缓冲区:区:空间的意思;缓冲区,就是保存一些临时数据的空间;

字符串缓冲区,就是用来保存临时的字符数据的空间;

一般在需要大量的操作字符串的时候都要使用它;

1.1.3. Java的字符串缓冲区类

字符串缓冲区也是一个事物,这种事物使用两个类表示:

StringBuffer:是线程安全的,效率相对比较低;如果在多线程环境下,对线程安全有要求,就要使用StringBuffer;

StringBuilder:是线程不安全的,效率相对比较高;如果在单线程环境下,或者对线程安全没有要求,就可以使用StringBuilder;

这两个类提供的功能一模一样;使用方法也一模一样;使用场景不同;

1.2. StringBuffer的使用

标签: #java 缓冲区