相关疑难解决方法(0)

从Java中的Map中选择随机键和值集

我想从Map获取随机密钥及其各自的值.这个想法是随机生成器会选择一个键并显示该值.棘手的部分是键和值都是字符串,例如myMap.put("Geddy", "Lee").

java random dictionary hashmap treemap

32
推荐指数
1
解决办法
4万
查看次数

计算Java对象的字节大小

我正在计算java对象[hashmap]的大小[使用的内存].它包含[在运行时]不同数据类型的元素,因此[no-of-elem*size-of-element]并不是一种好方法.现在的代码是通过一系列的

if (x)
  do something
else if (primitives)
  lookup size and calculate
Run Code Online (Sandbox Code Playgroud)

然而,这个过程是CPU占用并且效率低下.

我正在考虑采用以下两种方法:

  1. 将对象序列化为缓冲区并获取大小.
  2. 查看java.lang.instrument以获取大小

我正在寻找任何人使用这些方法的性能,效率,缩放等经验,或者如果你知道更好的方法.

PS:这是我正在构建的后台实用程序,因此大小不需要超级准确,尽管它应该是正确的.因此,我愿意以准确性换取性能

我对深度大小不感兴趣[不会计算此对象引用的对象的大小.]

我正在寻找性能比较和理解getObjectSize()如何在内部工作..所以我不会搞砸别的东西来提高性能

谢谢

java serialization instrumentation

11
推荐指数
1
解决办法
1万
查看次数