Skip to main content

Hvad er serialisering?

I computerprogrammering er serialisering processen med at tage en datastruktur, der er gemt i lokal hukommelse og omdanne den til en strøm af bytes, der kan overføres over et netværk eller gemmes på en disk, der skal samles igen og bruges af et andet program. Serialisering kan også bruges til at gemme tilstanden af et objekt, så den kan genindlæses senere med det samme program. En mere kompleks brug af denne funktion er at påkalde et fjernopkaldsopkald (RPC), effektivt at køre en procedure på en anden computer gennem et netværk. Denne mekanisme giver også mulighed for distribution af dataobjekter over et stort netværkssystem.

Næsten ethvert moderne computersprog har enten indbygget support til serialisering eller enBibliotek til rådighed for at tilføje denne funktionalitet. Når et objekt serialiseres, er alle felterne i objektet udfladet. Denne proces er også kendt som at tømme eller marshalere. Dataene bliver tilEn en-dimensionel række af byte, der kan skrives til enhver outputstrøm.Den type outputstrøm betyder ikke noget og kan være en fil eller et netværksstik.

Når dataene er blevet serialiseret og sendt til sin endelige placering, begynder deserialiseringsprocessen. Programmet, der lyderByte -strømmen gendanner al information og placerer dem i et nyt tilfælde af det originale objekt og skaber en nøjagtig kopi. Det er vigtigt at forstå, at kun de data, som objektet havde, er marskaleret;Objektet og dets metoder og andre implementeringsdata er ikke. Dette betyder, at det program, der deserialiserer dataene, skal være i stand til at oprette en forekomst af klassen, der oprindeligt blev serialiseret.

Datakonstruktionsserialisering kan brugestil forskellige formål. Objektoplysninger kan gemmes på fysiske medier, så den nøjagtige tilstand af ethvert objekt kan gendannes til det punkt, det var ved, når programudførelsen blev stoppet. Det kan bruges til at sende beskeder til en anden computer, dervil få en fjernprocedure til at køre. Serialisering kan endda bruges til effektivt at sammenligne statsændringer i realtidsapplikationer. Før du bruger objekt serialisering, er det vigtigt at forstå nogle af de begrænsninger, den pålægger. De mestVigtigt er, at der gennem processen med at konvertere et objekt til en byte -strøm, felter, der erklæres som privat, vil blive udsat. Under transmission af strømmen kan disse data indfanges og afkodes, hvilket præsenterer enSikkerhedshul. Mest sprogAldere giver mulighed for eksternalisering af dataserialiseringsformater, så proprietær kodning er mulig for at hjælpeer nøjagtigt de samme som det serialiserede objekt. Hvis nye felter eller metoder føjes til et objekt, vil underskrivelsen af objektet ændre sig. Dette vil betyde, at det gemte objekt vilforårsage en undtagelse, og dataene vil blive ikke gengivelige, indtil en forekomst af det originale umodificerede objekt forsøger at gendanne det.