Dlaczego zmienne przejściowe nie są serializowane?
Dlaczego zmienne przejściowe nie są serializowane?

Wideo: Dlaczego zmienne przejściowe nie są serializowane?

Wideo: Dlaczego zmienne przejściowe nie są serializowane?
Wideo: Java Serialization was a Horrible Mistake 2024, Listopad
Anonim

przejściowy to słowo kluczowe Java, które oznacza członka zmienna nie być serializowany kiedy jest utrwalany w strumieniach bajtów. Gdy obiekt jest przesyłany przez sieć, obiekt musi być ' serializowany '. Serializacja konwertuje stan obiektu na bajty szeregowe.

W związku z tym, czy zmienna przejściowa może być serializowana?

A zmienna przejściowa jest zmienny że Móc nie być serializowany . Zgodnie ze specyfikacją języka Java [jls-8.3. 1.3] – “ Zmienne może być oznaczony przejściowy aby wskazać, że nie są częścią trwałego stanu obiektu.”

Poza powyższym, dlaczego potrzebujemy zmiennych przejściowych w Javie? przejściowy jest a zmienne modyfikator używany w serializacji. W momencie serializacji, jeśli my nie chcieć aby zaoszczędzić wartość konkretnego zmienny w pliku, to my posługiwać się przejściowy słowo kluczowe. Kiedy pojawi się JVM przejściowy słowo kluczowe, ignoruje oryginalną wartość zmienny i zapisz domyślną wartość tego zmienny typ danych.

Poza tym, dlaczego zmienne statyczne i przejściowe nie są serializowane?

Zmienne statyczne : Te zmienne nie są serializowane , A więc podczas deserializacji zmienna statyczna wartość zostanie załadowana z klasy. zmienne przejściowe : zmienne przejściowe nie są serializowane , więc podczas deserializacji te zmienne zostanie zainicjowany odpowiednimi wartościami domyślnymi (np. dla obiektów null, int 0).

Dlaczego pola statyczne nie są serializowane?

Statyczny Zmienny. Statyczny zmienne należą do klasy i nie do dowolnej indywidualnej instancji. Pojęcie serializacja dotyczy aktualnego stanu obiektu. Tylko dane związane z konkretną instancją klasy są serializowany , dlatego statyczny członek pola są ignorowane podczas serializacja.

Zalecana: