Hva er serialisering?
I dataprogrammering er serialisering prosessen med å ta en datastruktur som er lagret i lokalt minne og gjøre den om til en strøm av byte som kan overføres over et nettverk eller lagres på en disk for å bli satt sammen igjen og brukes av et annet program. Serialisering kan også brukes til å lagre en gjenstand for å få en REL -en som kan komme til å bruke en RPRACTY. En annen datamaskin gjennom et nettverk. Denne mekanismen gir også mulighet for distribusjon av dataobjekter over et stort nettverkssystem.
Nesten hvert moderne dataspråk har enten naturlig støtte for serialisering eller et bibliotek tilgjengelig for å legge til denne funksjonaliteten. Når et objekt er seriell, er alt det som kan være et objekt som er en gjenstand.Strøm. Typen av utgangsstrømmen spiller ingen rolle og kan være en fil eller et nettverksuttak.
Når dataene har blitt serialisert og sendt til den endelige plasseringen, begynner deserialiseringsprosessen. Programmet som leser byte -strømmen gjenoppretter all informasjonen og plasserer den i en ny forekomst av det opprinnelige objektet, og oppretter en eksakt kopi. Det er viktig å forstå at bare dataene som objektet hadde, er marskalket; Objektet og dets metoder og andre implementeringsdata er ikke. Dette betyr at programmet som deserialiserer dataene må kunne lage en forekomst av klassen som opprinnelig ble serialisert.
Datastruktur serialisering kan brukes til en rekke formål. Objektinformasjon kan lagres på fysiske medier slik at den nøyaktige tilstanden til hvert objekt kan gjenopprettes til det punktet det var når programutførelsen stoppet. Den kan brukes til å seND -meldinger til en annen datamaskin som vil føre til at en ekstern prosedyre kjøres. Serialisering kan til og med brukes til å effektivt sammenligne tilstandsendringer i sanntidsapplikasjoner.
Før du bruker objektserialisering, er det viktig å forstå noen av begrensningene det pålegger. Det viktigste er at gjennom prosessen med å konvertere et objekt til en bytestrøm, blir felt som blir erklært som private bli utsatt. Under overføring av strømmen kan denne dataen bli fanget og avkodes, og presentere en sikkerhetshull. Risiko.
En annen faktor å huske på er at serialisering generelt vil fungere bare med objekter som er nøyaktig de samme som det serialiserte objektet. Hvis nye felt eller metoder blir lagt til et objekt, vil signaturen til objektet endre seg. Dette vil bety at det lagrede objektet vil forårsakee Et unntak og dataene vil bli uopprettelig inntil en forekomst av det opprinnelige umodifiserte objektet prøver å gjenopprette det.