大型数组和内存使用

时间:2013-09-05 17:32:13

标签: java memory-management arrays

有一种解决方法,但我的程序工作的“简单”方法是将大量文本放入String变量中。

我会有大约644个对象,每个对象都有自己的String变量。这些变量中的每一个都包含大约9,240个字符(包括空格)。这太过分了吗?

2 个答案:

答案 0 :(得分:2)

java字符默认为Unicode,因此它们的大小为2B。现在:

2B * 9,240 chars = 18480B = ~18KB

然后

18480B * 644 variables = 11901120B = ~11MB

所有String个对象占用的总内存大约为11MB。

如果您没有旧的64MB RAM,我认为这是可以接受的

答案 1 :(得分:1)

简单的计算表明,这些对象所需的总空间将小于12 MB - 在大多数现代计算机系统上没有大量内存,但不包括嵌入式Java平台。要进行计算,请将字符数乘以2(因为Java的char是16位数字。)