У меня есть следующая программа, которая создает хэш-карту.java-программа для использования памяти
public class sample {
private HashMap<String, String> joindata = new HashMap<String, String>();
public void map()
throws IOException{
BufferedReader reader = new BufferedReader(new FileReader("/tmp/table2"));
String line;
String[] tokens;
while ((line = reader.readLine()) != null)
{
tokens = line.split(",");
if(tokens.length == 2)
joindata.put(tokens[0], tokens[1]);
}
}
}
Там, кажется, какая-то ошибка в этой реализации в моей куче достигающего 300M для этой программы, когда я беру 32M файла (/ TMP/table2) для чтения.
Может ли кто-нибудь предложить оптимизацию, которую я могу сделать, чтобы уменьшить размер кучи, 300 М кучи явно неправильной реализации.
вы сделали кучу сваливать? – djechlin
да вся память, занятую струнных и Чар []. Существует явная someth который я не могу понять .. – 0xhacker
String и char [], которые принадлежат ...? Вы пытались запустить это в меньшем файле и посмотреть, есть ли у вас еще неожиданный объем памяти? – djechlin