Co to jest serializacja?
W programowaniu komputerowym serializacja jest procesem przyjmowania struktury danych przechowywanej w pamięci lokalnej i przekształcania go w strumień bajtów, które mogą być przesyłane przez sieć lub przechowywane na dysku, które można ponownie złożyć i używać przez inny program. Serializacja może być również używana w celu zapisania stanu obiektu, aby można go było ponownie załadować przez ten sam program. Procedura na innym komputerze za pośrednictwem sieci. Mechanizm ten pozwala również na rozkład obiektów danych nad dużym systemem sieciowym.
Prawie każdy nowoczesny język komputerowy ma natywną obsługę serializacji lub bibliotekę, aby dodać tę funkcjonalność. Gdy obiekt jest serializowany, wszystkie pola obiektu są spłaszczone.strumień. Typ strumienia wyjściowego nie ma znaczenia i może być plik lub gniazdo sieciowe.
Po serializacji i wysłaniu danych do ostatecznej lokalizacji rozpoczyna się proces deserializacji. Program odczytu strumienia bajtów przywraca wszystkie informacje i umieszcza go w nowej instancji oryginalnego obiektu, tworząc dokładną kopię. Ważne jest, aby zrozumieć, że tylko dane, które utrzymywał obiekt; Obiekt, jego metody i inne dane implementacyjne nie są. Oznacza to, że program, który deserializuje dane, musi być w stanie utworzyć instancję klasy, która została pierwotnie serializowana.
Serializacja struktury danych może być używana do różnych celów. Informacje o obiektach można przechowywać na mediach fizycznych, aby dokładny stan każdego obiektu można przywrócić do tego stopnia, że wykonanie programu zatrzymane. Można go użyć do SE do SEND wiadomości do innego komputera, które spowodują uruchomienie zdalnej procedury. Serializacja może być nawet użyta do skutecznego porównania zmian stanu w aplikacjach w czasie rzeczywistym.
Przed użyciem serializacji obiektu ważne jest zrozumienie niektórych ograniczeń, które narzuca. Najważniejsze jest to, że poprzez proces przekształcenia obiektu w strumień bajtów, pola deklarowane jako prywatne zostaną ujawnione. Podczas transmisji strumienia można było przechwycić i odznaczyć, że możliwe jest to, że jest to możliwe, aby to pomogło, aby to pomóc. ryzyko.
Kolejnym czynnikiem, o którym należy pamiętać, jest to, że serializacja będzie działać tylko z obiektami, które są dokładnie takie same jak obiekt serializowany. Jeśli nowe pola lub metody zostaną dodane do obiektu, wówczas podpis obiektu zmieni się. Będzie to oznaczać, że obiekt przechowywany spowodujee wyjątek, a dane staną się nieodkryte, dopóki instancja oryginalnego niezmodyfikowanego obiektu nie będzie próbowała go przywrócić.