问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java编译器优化成了stringbuilder,为什么速度

发布网友 发布时间:2022-06-03 16:21

我来回答

3个回答

热心网友 时间:2022-07-09 07:54

StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。 每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量。

StringBuffer buf=new StringBuffer(); //分配长16字节的字符缓冲区
StringBuffer buf=new StringBuffer(512); //分配长512字节的字符缓冲区
StringBuffer buf=new StringBuffer("this is a test")//在缓冲区中存放了字符串,并在后面预留了16字节的空缓冲区。

注意,是16字节的字符缓冲区,不是长度,length是取出字符串的长度,创建该对象时,没有字符串,自然长度就是0了

热心网友 时间:2022-07-09 07:54

秦中寄远上人(孟浩然)

热心网友 时间:2022-07-09 07:55

因为优化的太蠢了啊,比如下面这段代码:

    public void test() {
        String str = "";
        for (int i = 0; i < 1000; i++) {
            str = str + i;
        }
    }

我们希望他优化成这样:

    public void test() {
        StringBuilder str = new StringBuilder();
        for (int i = 0; i < 1000; i++) {
            str.append(i);
        }
    }

但是他其实“优化”成了这样:

    public void test() {
        String str = "";
        for (int i = 0; i < 1000; i++) {
            str = new StringBuilder(str).append(i).toString();
        }
    }

你说他慢不慢呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
邯郸自驾游到青岛马壕运河遗址推荐线路 株洲自驾到青岛马壕运河遗址途径地方 梧州回青岛马壕运河遗址要几个小时 石嘴山到青岛马壕运河遗址要多少油钱 可不可以用开水敷脸 开水能不能敷脸 发动机和发电机区别?? 电音之王朴智妍MV的图片? 电音之王mv里跳舞的是谁 自己怎样开网站 怎样把一个网页设置为主页 为了能让编译器优化,C C++的代码怎么写才好?更好地用到SSE的优化? 难道编译器AI到帮人类善做主张的跳过写的代码不执行?自作聪明的优化? Debug模式下怎样去掉编译器的优化解决思路 身上突然这2天长了好多小包水泡,痒啊,那都长了脸上还有小弟弟上都有,这是怎么回事啊 身上突然多出一些小水泡捏爆了还会有水。应该不是什么大病吧? 手机添加佳能g3800打印机时卡在获取打印机信息 一加5手机好用吗? 在一个数的后面添上零,得到的新数比原来的数春天的990,原来这个数是什么? 在一个数的后面添上一个零,这个数就增加了936,原数是多少? 在一个数的后面添上一个0,得到的新数比原来的数大927是什么? 利好 很多人争论转让股份是利好还是利空 屋顶的排水方式中 女儿墙是从哪儿将水排出的 放线图纸的定点怎么定?女儿墙是什么? 女儿墙的檐口在哪? 女儿墙标号在哪看 民用建筑房中的女儿墙是指哪里? 女儿墙在哪里? 有什么播放软件可以慢速播放 最好自己调 0.9倍 0.8倍 0.7倍 。。。。随你 什么播放器能调整播放速度到0.6到0.8倍之间,谢谢 请问在EXCEL中,在数据透视表创建数据透视图时,能对系列产生在行与列进行选择设置吗 人生与生活是一种什么境界? 人与生活是什么意思 周公解梦梦见大水向我永来没淹到我这是啥意思? 周公解梦--我梦见没下雨发很大的洪水? 从法律角度看《杀死一只知更鸟》 杀死一只知更鸟,文章中的南北战争是指什么? 最简单的萝卜汤怎么做 若中标人报价低于风险控制价的,须以现金形式提交中标价净值与风险控制价之差额.什么意思,高手指点迷津 控制价和预算价的区别是什么 风险控制系统的价格是多少? 政府采购 低于风险控制价提交差额能没收吗 喀什地区工程控制价风险费计取多少 如果碰触到防误触模式,就关屏了,安哪个键开屏啊?谢谢 长城巨龙 骨伽 怎么使用格力空调才健康,而且省电 格力空调要怎样设置才健康节能? 格力空调健康功能 还有谁?这句话英语怎么翻译 还有谁在这里 英语怎么说 英语翻译除了他还有谁