Przejściowy w Javie: co, dlaczego i jak to działa?



Transient in Java to słowo kluczowe używane w serializacji. Jest używany, gdy nie chcesz zapisywać wartości zmiennej w pliku

Przejściowa w Javie służy do oznaczania zmiennej składowej, która nie ma być serializowana, gdy jest utrwalana w strumieniach bajtów. To słowo kluczowe odgrywa ważną rolę w spełnianiu ograniczeń bezpieczeństwa w . Ignoruje oryginalną wartość a zmienna i zapisuje domyślną wartość tej zmiennej .

Oto tematy, które zostaną omówione w tym artykule:





Zacznijmy!

Co to jest słowo kluczowe Transient w Javie?

Transient to w zasadzie modyfikator zmiennych używany do serializacji. Co to jest serializacja? Serializacja w Javie jest mechanizmem używanym do konwersji stanu obiektu na strumień bajtów. Jeśli w czasie serializacji nie chcesz zapisywać wartości określonej zmiennej w pliku, użyj słowa kluczowego transient.



Składnia :

prywatny przejściowy

lub

przejściowy prywatny

W przypadku zdefiniowania dowolnego elementu członkowskiego danych jako przejściowego, nie zostanie on serializowany. Dzieje się tak, ponieważ każde pole oznaczone jako przejściowy nie zostaną serializowane. Tego przejściowego słowa kluczowego można użyć do wskazania wirtualnej maszyny języka Java (JVM), że zmienna przejściowa nie jest częścią trwałego stanu obiektu.



Napiszmy bardzo prosty przykład, aby zrozumieć Transient w Javie.

class Demo implementuje Serializable {// Dokonywanie ludzkiego przejściowego prywatnego przejściowego Ciągu ludzkiego przejściowego int wiek // serializowanie innych pól prywatne String nazwa, adres Data doba // reszta kodu}

Tutaj stworzyłem klasę o nazwie Demo, która implementuje Serializable. Składnik danych o wieku klasy Demo jest zadeklarowany jako przejściowy, jego wartość nie zostanie serializowana. Ale jeśli zdeserializujesz obiekt, otrzymasz domyślną wartość zmiennej przejściowej.

Dlaczego używany jest modyfikator przejściowy?

Przejściowy w języku Java jest używany do wskazania, że ​​pole nie powinno być częścią procesu serializacji.

Modyfikator Transient można zastosować do zmiennych składowych klasy, aby wyłączyć serializację tych zmiennych składowych. Każde pole oznaczone jako przejściowe nie zostanie serializowane. Możesz użyć tego przejściowego słowa kluczowego, aby wskazać plik Maszyna wirtualna Java że zmienna przejściowa nie jest częścią trwałego stanu obiektu.

Możesz mieć to pytanie w głowie. Kiedy używać tego przejściowego w Javie?

Odpowiedź na to brzmiałaby:

  1. Możesz użyć tego przejściowego słowa kluczowego, gdy masz pola, które są wyprowadzane / obliczane na podstawie innych pól w instancji klasy.
  2. Użyj go z polami, które nie są oznaczone jako „serializowalne” w JDK lub kodzie aplikacji. Dzieje się tak, ponieważ klasy, które nie implementują interfejsu Serializable, są przywoływane w ramach dowolnej klasy możliwej do serializacji i nie mogą być serializowane i zgłaszają wyjątek „java.io.NotSerializableException”. Należy zauważyć, że te odwołania, których nie można serializować, należy wcześniej oznaczyć jako „przejściowe” serializacja klasy głównej.

Jak używać przejściowego ze słowem kluczowym Final?

Przejściowy w Javie może być używany z ostatnie słowo kluczowe ponieważ zachowuje się inaczej w różnych sytuacjach, co na ogół nie ma miejsca w innych słowa kluczowe w Javie .

Spójrz na ten przykład.

private String firstName private String lastName // final field 1 public final transient String pass = 'password' // final field 2 public final transient Lock lock = Lock.getLock ('demo')

Teraz, gdy ponownie uruchomisz serializację (zapis / odczyt), otrzymasz następujące dane wyjściowe:

Kenny
Silny
hasło
zero

jak wdrożyć aplikację java w aws

Dzieje się tak, ponieważ oznaczyliśmy „pass” jako przejściowy, a to pole nadal było serializowane. W przypadku podobnej deklaracji zamek nie został serializowany. Powodem jest to, że za każdym razem, gdy jakiekolwiek końcowe pole jest oceniane jako stałe wyrażenie,jest serializowany przez JVM, ignorując obecność przejściowego słowa kluczowego.

Różnica między przejściowymi i niestabilnymi

To ważne pytanie zadane podczas . Jaka jest różnica między słowem kluczowym transient i volatile w Javie?

Lotny i Przejściowe to dwa zupełnie różne słowa kluczowe używane w programie . Słowo kluczowe Transient jest używane podczas serializacji obiektu Java. Zmienna jest związana z widocznością zmiennych modyfikowanych przez wiele wątków.

Jedyne podobieństwo między tymi słowami kluczowymi polega na tym, że są one rzadziej używane lub rzadkie i nie są tak popularne jak publiczne, statyczne lub ostateczne.

To prowadzi nas do końca tego artykułu, w którym dowiedzieliśmy się o Transient w Javie. Mam nadzieję, że wszystko, co zostało Ci udostępnione w tym samouczku, jest dla Ciebie jasne.

Jeśli uważasz, że ten artykuł na temat „Transient in Java” jest odpowiedni, zapoznaj się z zaufana firma zajmująca się edukacją online z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.

Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby zostać oprócz tych pytań do rozmowy kwalifikacyjnej w języku Java, opracowaliśmy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i szkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Jeśli napotkasz jakieś pytania, nie krępuj się zadawać je w sekcji komentarzy w „Transient in Java”, a nasz zespół z przyjemnością odpowie.