字符串拼接的两种方式

StringBuilder StringBuffer 速度比String 要快(字符串拼接)相差速度可能达到上千上万倍拼接字符串越大速度相差越大

StringBuilder StringBuffer Builder 线程不安全 Buffer线程安全 安全的速度要稍微慢于不安全的速度(这两个拼接速度不会相差太多)

10个一下的拼接用哪个都可以超过之后一般用 Builder

这是string 拼接 4万毫秒差不多

内部原理:

buffer每次加减在不超过原空间大小的时候不会申请新空间进行 是在原地址空间进行;string拼接需要每次相加进行地址空间的申请 造成空间和时间的浪费

cpu运算一次 0.2到0.3纳秒 从 cpu到内存 20纳秒;

读取信息 先读取信息的地址(操作一个数据之前要指定他的地址);

假设有一个2000B的数据 CPU需要读取2000次地址 来回一次40纳秒 总共需要80000纳秒;

因为存储单元只有一字节,如果把一个存储单元换成100字节,,这时候来回交汇的速度变快(一次读取的多了自然就快了)

一字节八比特是计算机的基本存储单元;

操作系统在原有存储单元上进行了划分 把一个存储单元改为了4KB,因此传输速度变成了之前的4*1024/1=4096倍;这个单元成为页块单元;这时也需要对他们的地址进行重定位,重新划分后额外需要一小块内存内的空间重新记录下来(页块)存储单元的地址;

由于一个存储单元内 存入一个以上的变量 只记录本存储单元的第一个地址 因此在存储单元里面只能存入一个变量 多出来的空间会浪费掉;(如果存入一个以上变量别的取不出来了)同理在磁盘上也相同 一个扇区只能存放一个文件 大小也是4KB;(内部是这样的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值