读书人

java种会占用多少内存

发布时间: 2012-12-20 09:53:21 作者: rapoo

java类会占用多少内存?

String s="abc" 的占用是 28+24 = 52

?

要说的是,String是常用的类,这么看,String耗内存很多,所以jvm有优化,同样的内容尽量重用,所以除了28是必须的外,那个char[] 很可能一样

比方说

String[] s=new String[1000];

for(int i=0;i<1000;i++) {

s[i]=new String("abcdefasdjflksadjflkasdfj");

}

的占用的数量级是 28*1000,那 1000个字符串本身基本上不占内存,只有一份!!!!!!

反正String 至少是 28,最多也可能是28!!!!!!!!

?

?

比较占内存的数据结构,这个很重要:

基本上就是 primitive的包装

?

实例:

我以前用一个

Hashtable的结构,有100万个元素

改为String[]+int[]后,内存占用改观不少,速度也很快

100万的String[] 快排一下,也就2秒多,查找用2分,和hash也差不多少。

读书人网 >编程

热点推荐