我正在写很多东西来登录突发,并优化数据路径.我用它构建日志文本StringBuilder.什么是最有效的初始容量,内存管理明智,所以无论JVM如何都能很好地工作?目标是避免重新分配几乎总是,应该由初始容量约80-100覆盖.但是我也希望浪费尽可能少的字节,因为StringBuilder实例可能会在缓冲区中出现并且会浪费掉浪费的字节.
我意识到这取决于JVM,但是应该有一些值,这会浪费最少的字节,无论JVM,还是"最小公分母".我目前正在使用128-16,其中128是一个很好的整数,减法用于分配开销.此外,这可能被认为是"过早优化"的情况,但由于我所追求的答案是一个"经验法则"数字,因此知道它在将来也会有用.
我不期待"我最好的猜测"答案(上面我自己的答案已经是这样),我希望有人已经研究过这个并且可以分享基于知识的答案.