Skip to main content

Co je to serializace?

V počítačovém programování je serializace procesem přijímání datové struktury uložené v místní paměti a její přeměny v proud bajtů, které lze přenášet přes síť nebo uloženo na disku, která má být znovu sestavena a použita jiným programem. Serializace lze také použít k uložení stavu objektu, aby byl později znovu načten stejným programem. Složitějším použitím této funkce je vyvolat vzdálené volání procedur (RPC), efektivně spuštěn postupem na jiném počítači prostřednictvím sítě. Tento mechanismus také umožňuje distribuci datových objektů ve velkém síťovém systému.

Téměř každý moderní jazyk počítače má buď nativní podporu pro serializaci nebo aKnihovna dostupná pro přidání této funkce. Když je objekt serializován, všechna pole objektu jsou zploštělá. Tento proces je také známý jako deflační nebo marshalling.jednorozměrný řádek bajtů, které lze zapsat do jakéhokoli výstupního proudu.Typ výstupního proudu nezáleží a může to být soubor nebo síťový zásuvka.Byte Stream obnovuje všechny informace a umístí je do nové instance původního objektu a vytvoří přesnou kopii. Je důležité pochopit, že pouze data, která objekt držel, jsou marshalována;Objekt a jeho metody a další implementační údaje nejsou. To znamená, že program, který deserializuje data, musí být schopen vytvořit instanci třídy, která byla původně serializovaná.Pro různé účely. Informace o objektu lze ukládat na fyzických médiích, takže přesný stav každého objektu lze obnovit do té míry, že to bylo při zastavení provádění programu. Lze jej použít k odesílání zpráv do jiného počítače, kterýzpůsobí spuštění vzdáleného procedury. Serializace lze dokonce použít k efektivnímu porovnání změn stavu v aplikacích v reálném čase.

Před použitím serializace objektu je důležité porozumět některým omezením, která ukládá. NejvíceDůležité je, že prostřednictvím procesu převodu objektu na bytový proud budou vystavena pole, která jsou prohlášena za soukromé. Během přenosu proudu lze tato data zachytit a dekódovat a představovat aBezpečnostní díra. Většina jazykaVěky umožňují externalizaci formátů serializace dat, takže proprietární kódování je možné zmírnit toto riziko.jsou přesně stejné jako serializovaný objekt. Pokud se do objektu přidají nová pole nebo metody, změní se podpis objektu. To bude znamenat, že uložený objekt budezpůsobit výjimku a data se stanou neohranitelnými, dokud se instance původního nemodifikovaného objektu nepokouší obnovit.