Παροδικό στη Java: Τι, γιατί και πώς λειτουργεί;



Transient in Java είναι μια λέξη-κλειδί που χρησιμοποιείται στη σειριοποίηση. Χρησιμοποιείται όταν δεν θέλετε να αποθηκεύσετε μια τιμή μιας μεταβλητής σε ένα αρχείο

Το Transient in Java χρησιμοποιείται για την επισήμανση της μεταβλητής μέλους που δεν πρόκειται να σειριοποιηθεί όταν παραμένει σε ροές byte. Αυτή η λέξη-κλειδί διαδραματίζει σημαντικό ρόλο για την αντιμετώπιση των περιορισμών ασφαλείας . Αγνοεί την αρχική τιμή του a μεταβλητός και αποθηκεύει την προεπιλεγμένη τιμή αυτής της μεταβλητής .

Ακολουθούν τα θέματα που θα συζητηθούν σε αυτό το άρθρο:





πώς να δημιουργήσετε έναν δυναμικό πίνακα στο java

Ας αρχίσουμε!

Τι είναι η προσωρινή λέξη-κλειδί στην Java;

Το Transient είναι βασικά ένας τροποποιητής μεταβλητών που χρησιμοποιείται για σειριοποίηση. Τώρα, τι είναι η σειριοποίηση; Σειριοποίηση σε Java είναι ένας μηχανισμός που χρησιμοποιείται για τη μετατροπή της κατάστασης ενός αντικειμένου σε ροή byte. Τη στιγμή της σειριοποίησης, εάν δεν θέλετε να αποθηκεύσετε την τιμή μιας συγκεκριμένης μεταβλητής σε ένα αρχείο, χρησιμοποιήστε την προσωρινή λέξη-κλειδί.



Σύνταξη :

ιδιωτικό προσωρινό

ή

προσωρινό ιδιωτικό

Σε περίπτωση που ορίσετε οποιοδήποτε μέλος δεδομένων ως παροδικό, δεν θα σειριοποιηθεί. Αυτό συμβαίνει επειδή κάθε πεδίο επισημαίνεται ως παροδικός δεν θα σειριοποιηθεί. Μπορείτε να χρησιμοποιήσετε αυτήν την προσωρινή λέξη-κλειδί για να υποδείξετε την εικονική μηχανή Java (JVM) ότι η μεταβατική μεταβλητή δεν αποτελεί μέρος της μόνιμης κατάστασης ενός αντικειμένου.



Ας γράψουμε ένα πολύ βασικό παράδειγμα για να κατανοήσουμε σχετικά με το Transient στην Java.

class Demo applements Serializable {// Making human transient private transing

Εδώ, δημιούργησα μια τάξη που ονομάζεται Demo, η οποία υλοποιεί το Serializable. Το μέλος δεδομένων ηλικίας της τάξης επίδειξης δηλώνεται ως παροδικό, η τιμή του δεν θα σειριοποιηθεί. Αλλά αν αποστειρώσετε το αντικείμενο, θα λάβετε την προεπιλεγμένη τιμή για μια παροδική μεταβλητή.

διαφορά μεταξύ εργαλείων και επεκτάσεων

Γιατί χρησιμοποιείται ο προσωρινός τροποποιητής;

Το Transient in Java χρησιμοποιείται για να δείξει ότι ένα πεδίο δεν πρέπει να αποτελεί μέρος της διαδικασίας σειριοποίησης.

Ο τροποποιητής Transient μπορεί να εφαρμοστεί σε μεταβλητές μελών μιας κλάσης για να απενεργοποιηθεί η σειριοποίηση σε αυτές τις μεταβλητές μελών. Κάθε πεδίο που έχει επισημανθεί ως παροδικό δεν θα σειριοποιηθεί. Μπορείτε να χρησιμοποιήσετε αυτήν την προσωρινή λέξη-κλειδί για να υποδείξετε στο Εικονική μηχανή Java ότι η μεταβατική μεταβλητή δεν είναι μέρος της μόνιμης κατάστασης ενός αντικειμένου.

Ίσως η ερώτηση να τρέχει στο μυαλό σας. Πότε να χρησιμοποιήσετε αυτό το Transient στην Java;

Η απάντηση σε αυτό θα ήταν:

  1. Μπορείτε να χρησιμοποιήσετε αυτήν την προσωρινή λέξη-κλειδί όταν έχετε πεδία που προέρχονται / υπολογίζονται από άλλα πεδία στην παρουσία μιας κλάσης.
  2. Χρησιμοποιήστε το με πεδία που δεν έχουν επισημανθεί ως 'Serializable' στο JDK ή στον κωδικό εφαρμογής. Αυτό οφείλεται στο γεγονός ότι οι κλάσεις που δεν εφαρμόζουν τη σειριακή δυνατότητα διασύνδεσης αναφέρονται σε οποιαδήποτε σειριοποιήσιμη τάξη και δεν μπορούν να σειριοποιηθούν και θα ρίξουν την εξαίρεση 'java.io.NotSerializableException' Σημειώστε ότι αυτές οι μη σειριοποιήσιμες αναφορές θα πρέπει να έχουν επισημανθεί ως 'παροδικές' πριν σειριοποίηση της κύριας τάξης.

Πώς να χρησιμοποιήσετε το παροδικό με την τελική λέξη-κλειδί;

Μεταβατικό σε Java μπορεί να χρησιμοποιηθεί με το τελική λέξη-κλειδί γιατί συμπεριφέρεται διαφορετικά σε διαφορετικές καταστάσεις που δεν συμβαίνει γενικά με άλλες λέξεις-κλειδιά σε Java .

Ρίξτε μια ματιά σε αυτό το παράδειγμα.

private String firstName private String lastName // final field 1 public final transi String pass = 'password' // final field 2 public final transient Lock Lock = Lock.getLock ('επίδειξη')

Τώρα, όταν εκτελέσετε ξανά τη σειριοποίηση (εγγραφή / ανάγνωση), θα λάβετε αυτήν την έξοδο:

Κένυ
Ισχυρός
Κωδικός πρόσβασης
μηδενικό

Αυτό συμβαίνει επειδή έχουμε σημειώσει το «πέρασμα» σε παροδικό, και ακόμα αυτό το πεδίο ήταν σειριοποιημένο. Για παρόμοια δήλωση, το κλείδωμα δεν ήταν σειριακό. Ο λόγος είναι, όταν οποιοδήποτε τελικό πεδίο αξιολογείται ως σταθερή έκφραση,σειριοποιείται από την JVM αγνοώντας την παρουσία παροδικής λέξης-κλειδιού.

Διαφορά μεταξύ παροδικών και πτητικών

Αυτή είναι μια σημαντική ερώτηση που τέθηκε κατά τη διάρκεια ενός . Ποια είναι η διαφορά μεταξύ της προσωρινής και της πτητικής λέξης-κλειδιού στην Java;

Πτητικός και το Transient είναι δύο εντελώς διαφορετικές λέξεις-κλειδιά που χρησιμοποιούνται . Μια προσωρινή λέξη-κλειδί χρησιμοποιείται κατά τη σειριοποίηση του αντικειμένου Java. Το πτητικό σχετίζεται με την ορατότητα των μεταβλητών που τροποποιούνται από πολλά νήματα.

διαφορά μεταξύ τελικού τελικά και οριστικοποίησης σε java

Η μόνη ομοιότητα μεταξύ αυτών των λέξεων-κλειδιών είναι ότι είναι λιγότερο χρησιμοποιούμενες ή ασυνήθιστες λέξεις-κλειδιά και δεν είναι τόσο δημοφιλείς όσο οι δημόσιες, στατικές ή τελικές.

Αυτό μας φέρνει στο τέλος αυτού του άρθρου όπου έχουμε μάθει για το Transient στην Java. Ελπίζω να είστε ξεκάθαροι με όλα όσα έχουν μοιραστεί μαζί σας σε αυτό το σεμινάριο.

Εάν βρήκατε αυτό το άρθρο σχετικά με το 'Transient in Java', ανατρέξτε στο μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο.

Είμαστε εδώ για να σας βοηθήσουμε σε κάθε βήμα του ταξιδιού σας, για να γίνετε εκτός από αυτές τις ερωτήσεις της συνέντευξης java, έχουμε ένα πρόγραμμα σπουδών που έχει σχεδιαστεί για μαθητές και επαγγελματίες που θέλουν να γίνουν προγραμματιστές Java. Το μάθημα έχει σχεδιαστεί για να σας δώσει μια πρώτη αρχή στον προγραμματισμό Java και να σας εκπαιδεύσει τόσο για τις βασικές όσο και για τις προηγμένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

Εάν συναντήσετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να υποβάλετε όλες τις ερωτήσεις σας στην ενότητα σχολίων του 'Transient in Java' και η ομάδα μας θα χαρεί να απαντήσει.