Java内存使用简单数据结构

标签 java string memory jvm hashmap

我想对用 Java 实现的缓存进行非常精确的测量。请告诉我这种方法是否可行。

我有一个将字符串映射到字符串数组的 HashMap 。有什么方法可以很好地近似这种数据结构吗?

  1. 如何获取字符串的大小?调用 String.toByte() 并为持有对象的开销增加一些?

  2. 字符串数组是所有字符串的总和吗?还是有一些开销?

  3. hashmap 是否也有一些过载,可能将对象包装到某个入口对象中?

  4. 对于map中所有未使用的空间,hashmap仍然分配了一些空间,我可以为map中所有未使用的空间总结2 * null pointer吗?

    <

我对部分答案感到满意,并为我指明了正确的方向。

最佳答案

我认为一个很好的实用方法是使用内存分析器,例如 YourKit .

关于Java内存使用简单数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7767763/

相关文章:

python - 检查一个键是否存在并且它的值不是 Python 字典中的空字符串

java - 如何在java中将UTC日期格式字符串转换为日期格式?

c++ - 我们可以记录给cpu的指令吗?

java - hibernate delete with string 类型集合

java - 无法从放心响应中获取 Json 对象(json 格式)

php - 在 Python 中进行多个字符串替换的最快实现

c++ - 当我删除一个对象时出现段错误 - GDB 在 free() 中说

c - union如何防止内存碎片?

java - 如何将现有数据库导入 netbeans

java - 在 android Studio 中,我希望当我单击按钮时,下一个 Activity/fragment 应该来自右侧