Några tanka om Java Map?
Hej
Sitter och har ett lite problem som jag ej kunnat hitta någon lösning på, så tänkte om det fanns någon därute som har en bättre idé för mina fungerar inte i praktiken.
Mitt problem gäller Javas Map. Detta är verkligen ett smidigt interface och jag har byggt ett rätt stort system runt detta, där all kommunikation mellan olika delsystem kommunicerar med Maps. Detta sker genom att serializera en map, översätta detta till en byte array som jag sedan skickar och där mottagaren översätter tillbaka och skapar mappen igen.
Detta fungerar klockrent och blir väldigt smidigt då jag aldrig behöver veta i vilken ordning allt ligger i mappen då jag bara kan söka på en nyckel och hitta värdet.
Nu till mitt problem:
När man serializerar en mapp så blir denna väldigt mycket större än den ser ut i verkligheten. Så datan jag skickar är betydligt större än själva map strängen.
Nu ska jag byta överföringsmedium som gör att jag måste få ner storleken avsevärt!
Har haft funderingar på en direkt transformation till en byte array men då tappar jag ju hela map strukturen.
Ett exempel är denna map:
{MSG2S=222323, Name=Din mamma, SellerCertificate=Certificate}
Denna map blir 61 byte ifall om man gör en direkt omkastning till en byte array. Om man använder min förra metod med att först serializera och sen göra om till en byte array blir denna istället 236 byte. Alltså en faktor på nästan 4. Denna faktor ökar också snabbt då antalet element ökar.
Så frågan är om någon kan ha en bättre idé om hur jag ska lösa detta?
//Mojo