如何才能知道map的容量啊?

robin622 2009-08-18 09:54:30
比如我存入map很多数据,我想知道map中的数据到底有多少K,怎么来计算呢?
...全文
880 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ansj 2009-08-20
  • 打赏
  • 举报
回复
这个取决于你虚拟机设置的内存大小..应该能达到几十w吧..
放多了内存溢出..


到一定数据量去库中存下
如果你要是..就看map.size()
达到多少就存..内存是没法看的..也别看了..浪费效率..
whuisszl008 2009-08-20
  • 打赏
  • 举报
回复
楼主应该问,map最大能存多大的数据啊
虎翼 2009-08-20
  • 打赏
  • 举报
回复
把map中的数据转换成byte 类型,看长度.
存属猜测,没有依据
yuwenbao 2009-08-20
  • 打赏
  • 举报
回复

大致可以在往Map添加数据前
before = Runtime.getRuntime().freeMemory()
在Map添加数据后after = Runtime.getRuntime().freeMemory()
after - before = 大致的Map的增量,你可以将这个增量放入一个计数变量中,然后根据这个计数变量去做相应的操作,但是这样是很不严谨的,计算也很粗糙,但是你对Map大小的精确度要求也不是很高,无非是怕内存溢出或者数据量太大什么的,所以我觉得可以使用这种方法

bigbug9002 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lcj_up 的回复:]
保存对象到txt文件,看文件大小就可以了。

[/Quote]

这办法其实挺好的,只写入Map中的一条数据,再用File类的length()方法,得到文件的长度.用Map.size()乘以文件的长度就能得到Map中有多少字节的数据了。

IO操作中在最开始的时候操作一次,所以效率也还行吧。
程序员猪佩琪 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lcj_up 的回复:]
保存对象到txt文件,看文件大小就可以了。

[/Quote]
把map中的数据全部写入文件,看文件大小了,对象也可以写文件的!
lcj_up 2009-08-20
  • 打赏
  • 举报
回复
保存对象到txt文件,看文件大小就可以了。
baby_fmm 2009-08-20
  • 打赏
  • 举报
回复
MAP 只能放到十几万个对象,
算容量你能算吗,JAVA到处都是存的地址呢,又不是真的把那些对象存进MAP
  • 打赏
  • 举报
回复
这个取决于你虚拟机设置的内存大小..应该能达到几十w吧..
放多了内存溢出..
robin622 2009-08-19
  • 打赏
  • 举报
回复
不过我有需求,想知道,到一定数据量去库中存下,有没有知道怎么算的啊?
rumlee 2009-08-18
  • 打赏
  • 举报
回复
这个好像没有办法取得吧,因为java程序开发不像c++那样,它不需要开发者自己管理内存,所以开发者也就不需要管这些东西,你只需要保证不要大到导致内存溢出就可以了。
awusoft 2009-08-18
  • 打赏
  • 举报
回复
map只能知道对象的个数,无法知道多少"K"大小.....
比如说银行卡,银行卡里可以存很多的钱,你拿一堆卡来你可以知道有多少张卡,却不知道有多少钱,因一个银行卡就可以存很多钱了.
map是持有对象的引用(银行卡),而不管是什么对象,对象有多大(多少钱)也是不管的

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧