transient 英 ['trænz??nt] -Java 關鍵字
java有個特點就是序列化(Serializable,簡單地來說就是可以將這個類存儲在物理空間(當然還是以文件的形式存在),這一操作又稱為對象持久化保存
,那麽當你從本地還原這個文件時,你可以將它轉換為它本身。這可以極大地方便網絡上的一些操作,但因為涉及到安全問題,所以並不希望把類裏面所有的東西都進行存儲(因為那樣,別人可以通過序列化知道類裏面的內容)
,這時我們就可以使用transient這個關鍵字,它的意思是臨時的,即加上它之後的變量不會隨類一起序列化到本地,所以當還原後,這個關鍵字定義的變量也就不再存在,這樣就可以防止別人通過序列化知道類裏面的內容。
接下來,簡單的寫一個demo
執行結果如下:
Sat Sep 09 16:52:44 CST 2017
user1
admin123
Sat Sep 09 16:52:44 CST 2017
user1
Not Set
如果我們在構造函數中給密碼初始值,那麽在將序列化之後的對象轉換為具體類的對象時密碼的值還存在嗎?答案是否定的。將持久化對象轉換為具體類的對象,並不會調用具體類的構造函數。
所以程序執行的結果仍然是Not Set
transient 英 ['trænz??nt] -Java 關鍵字
相關推薦
transient 英 [39;tr230;nz??nt] -Java 關鍵字
文件的 答案 操作 防止 word 物理 存儲 serializa 方便 java有個特點就是序列化(Serializable,簡單地來說就是可以將這個類存儲在物理空間(當然還是以文件的形式存在),這一操作又稱為對象持久化保存 ,那麽當你從本地還原這個文件時,你可以將它轉
javax.el.PropertyNotFoundException: Property 39;id39; not found on type java.lang.Integer
nim osi ren worker lan servlet encoding site filter javax.el.PropertyNotFoundException: Property ‘id‘ not found on type java.lang.Integer
Java關鍵字transient和volatile小結
java pre txt 關鍵字 代碼 字段 代碼優化 class 保存 transient 類型修飾符,只能用來修飾字段。 在對象序列化的過程中,標記為transient的變量不會被序列化。 class Test { transient int a; // 不
Property 39;id39; not found on type java.lang.String
idt not height string .com com found body lan 改為 忘寫了$符,取不出來,因此報錯! Property 'id' not found on type java.lang.String
Java關鍵字-transient
基本類 支持 作用 jdk nal 自動 過程 自定義 表示 transient的作用 針對實現了Serilizable接口(對象傳輸時候自動進行序列化操作)的對象,在指定的變量前加transient關鍵字,表示該變量不參與序列化。即在序列化過程中該變量的值為空。 tran
使用Tr230;f?k(traefik)來加速Qt在線更新
trac 好的 basic server 監聽端口 在線 win pass swa 簡述 在使用Qt的MaintenanceTool程序進行在線更新的時候遇到一個問題,就是訪問download.qt.io實在太慢了,老是失敗。所以想使用國內的鏡像站來進行更新。 使用Qt的鏡
LeetCode演算法題-Pascal39;s Triangle II(Java實現)
這是悅樂書的第171次更新,第173篇原創 01 看題和準備 今天介紹的是LeetCode演算法題中Easy級別的第30題(順位題號是119)。給定非負索引k,其中k≤33,返回Pascal三角形的第k個索引行。行索引從0開始。在Pascal的三角形中,每個數字是它上面兩個數字的總和。例如: 輸
failed to push some refs to 39;https://gitee.com/ftl_663/java-shop.git39;
1、git init 2、git add . 3、git commit -m "init" 4、git remote add origin https://gitee.com/ftl_663/java-shop.git(遠端倉庫地址) 5、git push -u origin
Property 39;gid39; not found on type java.lang.String問題解決方法
問題:在用ssm框架中,多表查詢時(單表查詢), 顯示頁面出現了此問題:Property ‘gid’ not found on type java.lang.String 原因分析:此問題表明純屬是jsp頁面的問題,主要出現在頁面遍歷後臺資料的地方 解決方法:例如這個: 首先檢查f
【JSON 註解】JSON迴圈引用2----JSON註解@JsonIgnoreProperties+JAVA關鍵字transient+後臺物件與JSON資料的格式互相轉化
接著來說這個JSON迴圈引用的問題: @JsonIgnoreProperties({"hibernateLazyInitializer", "org","roles"}) 在實體類上註解,在使用jackjson 來解析就行 參考下面 關於JSON格式的轉化,其實關
Java關鍵字之native,strictfp,transient,volatile
Java關鍵字(keywords) abstract default if private this boolean do implements protected throw break
java關鍵字Transient
Java的serialization提供了一種持久化物件例項的機制。當持久化物件時,可能有一個特殊的物件資料成員,我們不想用serialization機制來儲存它。為了在一個特定物件的一個域上關閉serialization,可以在這個域前加上關鍵字transient。tran
java關鍵字volatile、transient
本問主要知識點: volatile 關鍵字 transient關鍵字 1.volatile:當多個執行緒進行操作共享資料時,可以保證記憶體中的資料可見,相對與synchronized是一種輕量級的鎖 注意:1)volatile 不具有互斥性;2)不能保證變數的原子性
Java關鍵字——transient
“transient”——“瞬態”,先不說這個翻譯是否恰當,這個變數關鍵字一直不曾使用,簡單的說就是被瞬態定義的變數不可序列號。或者這麼給他換個名字——“不可序列化狀態”?打個比方,如果一個使用者有一些敏感資訊(譬如密碼,銀行卡號等),為了安全起見,不希望在網路操作(主要涉及
Java關鍵字transient和java物件流
transient和volatile兩個關鍵字一個用於物件序列化簡單總結一下。transienttransient是型別修飾符,只能用來修飾字段。在物件序列化的過程中,標記為transient的變數不會被序列化。示例:class Test {transient int a;
Java Serialization/序列化/反序列化 及 transient Java關鍵字詳解
以前只知道序列化和反序列化的意思及怎麼去使用,沒有更深入的去了解,在學習之中遇到了這個transient關鍵字,以前並不知道在Java中 還有 transient 關鍵字,既然遇到了就花點時間把整理一下,查閱了一些資料看了一下,自己整理一份讓方便更多的人去學習。
java關鍵字transient與序列化相關
它標記一個成員變數,當它被持續到位元組流時不被序列化。 當通過網路傳輸物件時,物件需要“序列化”。 序列化將物件狀態轉換為序列位元組。 這些位元組通過網路傳送,並且從這些位元組重新建立物件。 由java transient關鍵字標記的成員變數不傳輸,故意丟失。 可以類比hi
JAVA-關鍵字&標識符
clas () alt 是否 編譯 dir 編譯器 接口 劃線 關鍵字: 關鍵字就是在java程序中具備特殊含義的標識符。關鍵字一般用於描述一個程序的結構或者表示數據類型。他們用來表示一種數據類型,或者表示程序的結構等,關鍵字不能用作變量名、方法名、類名、包名。 1.1
java關鍵字
註意 java標識符 ash 都是 tor nbsp 標識符 保留 不能 集合中線程安全的類:vector,stack,Hashtable,enumeration,除此之外均是非線程安全的。 java中true ,false , null在java中不是關鍵字,也不是保
深入理解java關鍵字--static
ack col 之間 jvm -s nbsp 代碼 實例變量 family static 關鍵字是java中經常用到的一個關鍵字,在面試中也會經常遇到的一個問題,下面詳細描述這個關鍵字的相關知識點。