Bonjour,

j'ai une HashMap sérialisée dans un fichier, qui fait environ 30Mo.

Avec Runtime.getRuntime().totalMemory();, j'ai vérifié que la HashMap ne consomme pas trop en mémoire :

Total memory : 529465344
Loading...
583032 elements loaded.
Total memory : 517013504

Quelque chose comme 12Mo, donc...

Pourtant, je dois lancer mon programme avec l' option -Xmx512m, avec 256 ou moins j'ai une erreur :
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3421)
at java.io.ObjectInputStream$HandleTable.assign(ObjectInputStream.java:3227)
at java.io.ObjectInputStream.readString(ObjectInputStream.java:1610)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1320)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.HashMap.readObject(HashMap.java:1029)

Et ceci même si je crée un programme qui ne fait qu'ouvrir cette HashMap...

Avez-vous une idée d'où ça peut venir ?

Merci d'avance