Fuite mémoire dans java.text.DecimalFormat de GnuClasspath
Aujourd’hui, un collègue me montre du code qui utilise java.text.DecimalFormat de GnuClasspath, la JCL du projet GNU, et qui plante avec une java.lang.OutOfMemoryError.
L’objectif est de formater un double suivant un nombre de décimal, ce que fait très bien la classe java.text.DecimalFormat.
Voici la stacktrace complète de mon code de test :
Exception in thread "main" java.lang.OutOfMemoryError at java.util.ArrayList.ensureCapacity(ArrayList.java:176) at java.util.ArrayList.add(ArrayList.java:340) at java.text.DecimalFormat.addAttribute(DecimalFormat.java:2236) at java.text.DecimalFormat.handleFractionalPart(DecimalFormat.java:2074) at java.text.DecimalFormat.formatInternal(DecimalFormat.java:1942) at java.text.DecimalFormat.format(DecimalFormat.java:387) at java.text.NumberFormat.format(NumberFormat.java:818) at trash.MyTrash.testNewDecimal(MyTrash.java:34) at trash.MyTrash.(MyTrash.java:18) at trash.MyTrash.main(MyTrash.java:8)
Commençons les investigations de java.text.DecimalFormat.



Pour une fois, l’article ne parle ni de Java temps réel ni de Java embarqué mais plutôt de la possibilité d’écrire du code Java sur les processeurs graphiques (
envoi en cours...