Как рассчитать объем памяти, занимаемой хэш-картой? - PullRequest
0 голосов
/ 23 октября 2019

Как я могу рассчитать память хэш-карты. Я хочу получить память о хэш-карте.

Размер хэш-карты, которую я могу получить hashmap.size();

Но я не знаю, как это получить.

1 Ответ

0 голосов
/ 23 октября 2019

Попробуйте что-то вроде этого, используя пару потоков вывода из библиотеки java.io:

import java.util.*;
import java.io.*;

HashMap<String, Integer> hashmap = new HashMap<>();
hashmap.put("vishal", 10); 
hashmap.put("sachin", 30); 
hashmap.put("vaibhav", 20);

try {
    System.out.println("HashMap Size: " + hashmap.size());
    ByteArrayOutputStream stream1 = new ByteArrayOutputStream();
    ObjectOutputStream stream2 = new ObjectOutputStream(stream1);
    stream2.writeObject(hashmap);
    stream2.close();
    System.out.println("Memory Used: " + stream1.size());
} catch(IOException e) {
    e.printStackTrace();
}

Вы также можете попробовать использовать внешние инструменты / API, такие как ClassMexer или интерфейс Instrumentation.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...