{"rsdb":{"rid":"156514","subhead":"","postdate":"0","aid":"117477","fid":"54","uid":"1","topic":"1","content":"
1. transient\u7684\u4f5c\u7528\u53ca\u4f7f\u7528\u65b9\u6cd5<\/p>
\u6211\u4eec\u90fd\u77e5\u9053\u4e00\u4e2a\u5bf9\u8c61\u53ea\u8981\u5b9e\u73b0\u4e86Serilizable\u63a5\u53e3\uff0c\u8fd9\u4e2a\u5bf9\u8c61\u5c31\u53ef\u4ee5\u88ab\u5e8f\u5217\u5316\uff0cjava<\/a>\u7684\u8fd9\u79cd\u5e8f\u5217\u5316\u6a21\u5f0f\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u4e86\u5f88\u591a\u4fbf\u5229\uff0c\u6211\u4eec\u53ef\u4ee5\u4e0d\u5fc5\u5173\u7cfb\u5177\u4f53\u5e8f\u5217\u5316\u7684\u8fc7\u7a0b\uff0c\u53ea\u8981\u8fd9\u4e2a\u7c7b\u5b9e\u73b0\u4e86Serilizable\u63a5\u53e3\uff0c\u8fd9\u4e2a\u7c7b\u7684\u6240\u6709\u5c5e\u6027\u548c\u65b9\u6cd5\u90fd\u4f1a\u81ea\u52a8\u5e8f\u5217\u5316\u3002<\/p> \u7136\u800c\u5728\u5b9e\u9645\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u5e38\u5e38\u4f1a\u9047\u5230\u8fd9\u6837\u7684\u95ee\u9898\uff0c\u8fd9\u4e2a\u7c7b\u7684\u6709\u4e9b\u5c5e\u6027\u9700\u8981\u5e8f\u5217\u5316\uff0c\u800c\u5176\u4ed6\u5c5e\u6027\u4e0d\u9700\u8981\u88ab\u5e8f\u5217\u5316\uff0c\u6253\u4e2a\u6bd4\u65b9\uff0c\u5982\u679c\u4e00\u4e2a\u7528\u6237\u6709\u4e00\u4e9b\u654f\u611f\u4fe1\u606f\uff08\u5982\u5bc6\u7801\uff0c\u94f6\u884c\u5361\u53f7\u7b49\uff09\uff0c\u4e3a\u4e86\u5b89\u5168\u8d77\u89c1\uff0c\u4e0d\u5e0c\u671b\u5728\u7f51\u7edc\u64cd\u4f5c\uff08\u4e3b\u8981\u6d89\u53ca\u5230\u5e8f\u5217\u5316\u64cd\u4f5c\uff0c\u672c\u5730\u5e8f\u5217\u5316\u7f13\u5b58\u4e5f\u9002\u7528\uff09\u4e2d\u88ab\u4f20\u8f93\uff0c\u8fd9\u4e9b\u4fe1\u606f\u5bf9\u5e94\u7684\u53d8\u91cf\u5c31\u53ef\u4ee5\u52a0\u4e0atransient\u5173\u952e\u5b57\u3002\u6362\u53e5\u8bdd\u8bf4\uff0c\u8fd9\u4e2a\u5b57\u6bb5\u7684\u751f\u547d\u5468\u671f\u4ec5\u5b58\u4e8e\u8c03\u7528\u8005\u7684\u5185\u5b58\u4e2d\u800c\u4e0d\u4f1a\u5199\u5230\u78c1\u76d8\u91cc\u6301\u4e45\u5316\u3002<\/p> \u603b\u4e4b\uff0cjava<\/a> \u7684transient\u5173\u952e\u5b57\u4e3a\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u5229\uff0c\u4f60\u53ea\u9700\u8981\u5b9e\u73b0Serilizable\u63a5\u53e3\uff0c\u5c06\u4e0d\u9700\u8981\u5e8f\u5217\u5316\u7684\u5c5e\u6027\u524d\u6dfb\u52a0\u5173\u952e\u5b57transient\uff0c\u5e8f\u5217\u5316\u5bf9\u8c61\u7684\u65f6\u5019\uff0c\u8fd9\u4e2a\u5c5e\u6027\u5c31\u4e0d\u4f1a\u5e8f\u5217\u5316\u5230\u6307\u5b9a\u7684\u76ee\u7684\u5730\u4e2d\u3002<\/p> \u793a\u4f8bcode\u5982\u4e0b\uff1a 2. transient\u4f7f\u7528\u5c0f\u7ed3<\/p> ?1\uff09\u4e00\u65e6\u53d8\u91cf\u88abtransient\u4fee\u9970\uff0c\u53d8\u91cf\u5c06\u4e0d\u518d\u662f\u5bf9\u8c61\u6301\u4e45\u5316\u7684\u4e00\u90e8\u5206\uff0c\u8be5\u53d8\u91cf\u5185\u5bb9\u5728\u5e8f\u5217\u5316\u540e\u65e0\u6cd5\u83b7\u5f97\u8bbf\u95ee\u3002<\/p>
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
?
\/**
?* @description \u4f7f\u7528transient\u5173\u952e\u5b57\u4e0d\u5e8f\u5217\u5316\u67d0\u4e2a\u53d8\u91cf
?*? ? ? ? \u6ce8\u610f\u8bfb\u53d6\u7684\u65f6\u5019\uff0c\u8bfb\u53d6\u6570\u636e\u7684\u987a\u5e8f\u4e00\u5b9a\u8981\u548c\u5b58\u653e\u6570\u636e\u7684\u987a\u5e8f\u4fdd\u6301\u4e00\u81f4
?*? ? ? ?
?* @author Alexia
?* @date? 2013-10-15
?*\/
public class TransientTest {
?
? ? public static void main(String[] args) {
?
? ? ? ? User user = new User();
? ? ? ? user.setUsername(\"Alexia\");
? ? ? ? user.setPasswd(\"123456\");
?
? ? ? ? System.out.println(\"read before Serializable: \");
? ? ? ? System.out.println(\"username: \" + user.getUsername());
? ? ? ? System.err.println(\"password: \" + user.getPasswd());
?
? ? ? ? try {
? ? ? ? ? ? ObjectOutputStream os = new ObjectOutputStream(
? ? ? ? ? ? ? ? ? ? new FileOutputStream(\"C:\/user.txt\"));
? ? ? ? ? ? os.writeObject(user); \/\/ \u5c06User\u5bf9\u8c61\u5199\u8fdb\u6587\u4ef6
? ? ? ? ? ? os.flush();
? ? ? ? ? ? os.close();
? ? ? ? } catch (FileNotFoundException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? ? ? try {
? ? ? ? ? ? ObjectInputStream is = new ObjectInputStream(new FileInputStream(
? ? ? ? ? ? ? ? ? ? \"C:\/user.txt\"));
? ? ? ? ? ? user = (User) is.readObject(); \/\/ \u4ece\u6d41\u4e2d\u8bfb\u53d6User\u7684\u6570\u636e
? ? ? ? ? ? is.close();
?
? ? ? ? ? ? System.out.println(\"\\nread after Serializable: \");
? ? ? ? ? ? System.out.println(\"username: \" + user.getUsername());
? ? ? ? ? ? System.err.println(\"password: \" + user.getPasswd());
?
? ? ? ? } catch (FileNotFoundException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? } catch (ClassNotFoundException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
}
?
class User implements Serializable {
? ? private static final long serialVersionUID = 8294180014912103005L;?
?
? ? private String username;
? ? private transient String passwd;
?
? ? public String getUsername() {
? ? ? ? return username;
? ? }
?
? ? public void setUsername(String username) {
? ? ? ? this.username = username;
? ? }
?
? ? public String getPasswd() {
? ? ? ? return passwd;
? ? }
?
? ? public void setPasswd(String passwd) {
? ? ? ? this.passwd = passwd;
? ? }
?
}<\/p>
\u8f93\u51fa\u4e3a\uff1a
read before Serializable:
username: Alexia
password: 123456
?
read after Serializable:
username: Alexia
password: null<\/p>
\u5bc6\u7801\u5b57\u6bb5\u4e3anull\uff0c\u8bf4\u660e\u53cd\u5e8f\u5217\u5316\u65f6\u6839\u672c\u6ca1\u6709\u4ece\u6587\u4ef6\u4e2d\u83b7\u53d6\u5230\u4fe1\u606f\u3002<\/p>
?2\uff09transient\u5173\u952e\u5b57\u53ea\u80fd\u4fee\u9970\u53d8\u91cf\uff0c\u800c\u4e0d\u80fd\u4fee\u9970\u65b9\u6cd5\u548c\u7c7b\u3002\u6ce8\u610f\uff0c\u672c\u5730\u53d8\u91cf\u662f\u4e0d\u80fd\u88abtransient\u5173\u952e\u5b57\u4fee\u9970\u7684\u3002\u53d8\u91cf\u5982\u679c\u662f\u7528\u6237\u81ea\u5b9a\u4e49\u7c7b\u53d8\u91cf\uff0c\u5219\u8be5\u7c7b\u9700\u8981\u5b9e\u73b0Serializable\u63a5\u53e3\u3002<\/p>
?3\uff09\u88abtransient\u5173\u952e\u5b57\u4fee\u9970\u7684\u53d8\u91cf\u4e0d\u518d\u80fd\u88ab\u5e8f\u5217\u5316\uff0c\u4e00\u4e2a\u9759\u6001\u53d8\u91cf\u4e0d\u7ba1\u662f\u5426\u88abtransient\u4fee\u9970\uff0c\u5747\u4e0d\u80fd\u88ab\u5e8f\u5217\u5316\u3002<\/p>
\u7b2c\u4e09\u70b9\u53ef\u80fd\u6709\u4e9b\u4eba\u5f88\u8ff7\u60d1\uff0c\u56e0\u4e3a\u53d1\u73b0\u5728User\u7c7b\u4e2d\u7684username\u5b57\u6bb5\u524d\u52a0\u4e0astatic\u5173\u952e\u5b57\u540e\uff0c\u7a0b\u5e8f\u8fd0\u884c\u7ed3\u679c\u4f9d\u7136\u4e0d\u53d8\uff0c\u5373static\u7c7b\u578b\u7684username\u4e5f\u8bfb\u51fa\u6765\u4e3a\u201cAlexia\u201d\u4e86\uff0c\u8fd9\u4e0d\u4e0e\u7b2c\u4e09\u70b9\u8bf4\u7684\u77db\u76fe\u5417\uff1f\u5b9e\u9645\u4e0a\u662f\u8fd9\u6837\u7684\uff1a\u7b2c\u4e09\u70b9\u786e\u5b9e\u6ca1\u9519\uff08\u4e00\u4e2a\u9759\u6001\u53d8\u91cf\u4e0d\u7ba1\u662f\u5426\u88abtransient\u4fee\u9970\uff0c\u5747\u4e0d\u80fd\u88ab\u5e8f\u5217\u5316\uff09\uff0c\u53cd\u5e8f\u5217\u5316\u540e\u7c7b\u4e2dstatic\u578b\u53d8\u91cfusername\u7684\u503c\u4e3a\u5f53\u524dJVM\u4e2d\u5bf9\u5e94static\u53d8\u91cf\u7684\u503c\uff0c\u8fd9\u4e2a\u503c\u662fJVM\u4e2d\u7684\u4e0d\u662f\u53cd\u5e8f\u5217\u5316\u5f97\u51fa\u7684\uff0c\u4e0d\u76f8\u4fe1\uff1f\u597d\u5427\uff0c\u4e0b\u9762\u6211\u6765\u8bc1\u660e\uff1a
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java","orderid":"0","title":"Java transient\u5173\u952e\u5b57\u4f7f\u7528\u65b9\u6cd5(\u4e00)","smalltitle":"","mid":"0","fname":"linux\u7f16\u7a0b\u57fa\u7840","special_id":"0","bak_id":"0","info":"0","hits":"501","pages":"3","comments":"0","posttime":"2017-02-21 08:16:04","list":"1487636164","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"Java<\/A> transient<\/A> \u5173\u952e\u5b57<\/A> \u4f7f\u7528\u65b9\u6cd5<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"14.17.22.31","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"Java transient\u5173\u952e\u5b57\u4f7f\u7528\u65b9\u6cd5","lastview":"1702749469","digg_num":"4841","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}