Как понять, будет ли он превышать размер кучи Java или нет? - PullRequest
0 голосов
/ 09 марта 2012

Я реализовал программу для расчета стоимости акций, сравнивая это значение с данными значениями времени и т. Д. У меня есть CSV-файл, который имеет все даты и двойные значения. В моей программе для каждой отдельной даты я открываю файл, анализирую и ищу значение заданной даты. И я могу проверить дату несколько раз. Вот почему я хочу использовать эти значения в HashMap, если у меня нет значения данной даты в качестве ключа, я бы открыл файл CSV и поиска его. Но прежде чем приступить к реализации этой программы, я хочу проверить, что если я сохраню все значения в хэш-карте, уместится ли она в кучу java размером 8 МБ. Мой CSV-файл имеет 1200 строк даты и соответствующее двойное значение. Есть ли способ понять это до реализации кода? Или вы посоветуете какие-нибудь лучшие идеи для создания более эффективной программы?

Спасибо.

1 Ответ

1 голос
/ 09 марта 2012

Загрузка этих данных в хэш-карту на несколько порядков эффективнее, чем постоянное чтение из файлов.Не существует единого жесткого и быстрого правила для определения того, сколько места в куче будет занято путем анализа и загрузки данного файла CSV.Это зависит от архитектуры системы, используемых строковых кодировок, типов данных и т. Д.

Самый простой и лучший подход - запустить простой профилировщик JVM и изучить разницу в использовании кучи непосредственно перед и сразу после загрузкифайл определенного размера в хэш-карту.

...