最初是在《 Rope与StringBuilder的简单比较》了解到Rope这种数据结构的,随后打开了IBM的《 Rope:理论与实践》,原来这种数据结构就是链表,把每个子字符串作为结点,串连为一个字符串,这样做,可以节省内存,避免了字符串构造时需要反复地构建:str = A+B+C, D= A+B, E= D+C, str= E。

    后来在《 Char*/String/StringBuilder/TextPool/Rope》了解到原来C++库STL也有这个类。

    Rope是用于解决巨型字符串的问题,IBM的文章有说明白。

    而blogjava的文章评论,告诉我,“Rope还是比不过StringBuilder,Rope是同步的,StringBuilder不是同步的,性能上,当然要差一点”。