zoukankan      html  css  js  c++  java
  • 一次String的错误使用

    今日,在写代码的过程中,程序执行一个方法居然出现了heap space溢出的异常。

    从来还没有遇到这样的异常,打断点发现是做字符串拼接时出现此异常。

    所以知道了是String使用的异常,因为我做的操作是要大量的拼接字符串,次数很多。

    每次String拼接一次之后,都相当于是重新new了一个String,然后拼接过后的字符串赋值给了新的String对象。

    最终造成了堆内存溢出。

    查阅资料后,发现String虽然在某些时候效率高一点,但是要大规模拼接字符串是十分“笨重”的。

    String s1 = "hello" + "world";//这种方式时效率最高;

    ----------StringBuilder----------

    StringBuilder才是我应该使用的正确类型,它是一个线程不安全的类型,也是不同线程环境情况下的的StringBuilder的一个替换,方法主要有append,insert。

    ----------StringBuffer------------

    StringBuffer是一个线程安全的类型,方法与StringBuilder大概一致,但是它的执行效率要低一些。

  • 相关阅读:
    react native 添加mobx
    js-(19,999,999.00)
    html移动端 -- meta-模板 + rem
    HTML5 移动端头部标签
    js
    html --- rem
    es6--async--await
    nrm+nvm
    js-call-apply
    SQL映射文件
  • 原文地址:https://www.cnblogs.com/runwithraining/p/10753083.html
Copyright © 2011-2022 走看看