Optimisation mémoire sur des String
Bonjour à tous.
Voici mon problème:
Je travaille actuellement sur une base de données basée sur des fichiers indexés (une ligne correspond à un enregistrement, le champ 1 étant défini par les caractères 1 à X de cette ligne, le champ 2 par les caractères X+1 à Y de cette ligne, etc...)
Je dois convertir cette "base" en objets JAVA. Je lis donc mes fichiers, et je les découpe... seulement voilà, cette opération est trop gourmande en mémoire, et je suis donc en train de rechercher des axes d'optimisation.
Dans les fichiers que je lis, chaque caractère est codé sur 1 octet. Or la classe "String" utilise des "char" codés sur 2 octets.
Vu le nombre "industriel" de "String" que je génère, cette différence a de l'importance.
J'ai bien trouvé dans la FAQ cette information permettant de changer l'encodage, http://java.developpez.com/faq/java/...#charsetString mais cela ne change pas (du moins je crois... n'hésitez pas à me reprendre si j'ai tort) le fait que chaque caractère soit codé par un "char".
J'aurais donc voulu savoir (avant de redévelopper une classe qui réponde à mon besoin), si il existait une classe "LightString", basée non pas sur un char[] mais sur un byte[].