StringBuffer在数据内容增大时,会为StringBuffer对象追加申请内存,申请数量为当前内存量的一倍,即StringBuffer总数为原内存量的2倍。
问题就在这里:现有数据为1024KB,内存为1536KB;在数据修改数据量为1025KB后,那么内存总量将会变为3072KB,只因为1KB的内存数据增长,而申请1536KB内存,有可能导致内存溢出。
此问题曾出现在深度定制的rom上,如有不对请指正。
探讨了StringBuffer在数据量增加时内存使用翻倍的问题,并举例说明这种现象可能导致内存溢出的情况。
StringBuffer在数据内容增大时,会为StringBuffer对象追加申请内存,申请数量为当前内存量的一倍,即StringBuffer总数为原内存量的2倍。
问题就在这里:现有数据为1024KB,内存为1536KB;在数据修改数据量为1025KB后,那么内存总量将会变为3072KB,只因为1KB的内存数据增长,而申请1536KB内存,有可能导致内存溢出。
此问题曾出现在深度定制的rom上,如有不对请指正。
2757

被折叠的 条评论
为什么被折叠?