干了这杯Java之transient关键字
2017-10-13 18:06
190 查看
看源码的时候,发现transient这个关键字,不甚理解,查找资料发现:不被序列化
疑问:
静态变量是不是不被序列化?
结论:
transient关键字可以阻止序列化
序列号并不保存静态变量
疑问:
静态变量是不是不被序列化?
public class User implements Serializable { private static final long serialVersionUID = 2877054094045568710L; private String username; private transient String password; private static int age; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getAge() { return age; } public void setAge(int age) { User.age = age; } public static void main(String[] args) { User user = new User(); user.setUsername("imeng"); user.setPassword("123456"); user.setAge(22); try { ObjectOutputStream os = new ObjectOutputStream( new FileOutputStream("/Users/imeng/Desktop/user.txt")); os.writeObject(user); os.close(); } catch (IOException e) { e.printStackTrace(); } //序列号后改变Static的值 user.setAge(100); ObjectInputStream oi; try { oi = new ObjectInputStream(new FileInputStream("/Users/imeng/Desktop/user.txt")); User readUser = (User) oi.readObject(); System.out.println("username:" + readUser.getUsername()); System.out.println("transient关键字password:" + readUser.getPassword()); System.out.println("静态变量age:" + readUser.getAge()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
username:imeng password:null age:100
结论:
transient关键字可以阻止序列化
序列号并不保存静态变量
相关文章推荐
- java关键字transient
- JAVA中transient关键字的使用
- Java关键字transient和volatile小结(转)
- java关键字Transient 转自:http://blog.csdn.net/flynetcn/archive/2008/03/03/2142020.aspx
- java-Transient关键字、Volatile关键字介绍和序列化、反序列化机制、单例类序列化
- Java关键字transient和volatile
- java中 static,final,transient,volatile关键字的作用
- Java transient关键字
- Java关键字transient和volatile小结(转)
- Java中的transient,volatile和strictfp关键字
- Java transient关键字使用小结及一些需要注意的细节
- Java transient关键字
- Java关键字transient和volatile小结
- Java中transient关键字
- Java关键字transient和volatile
- Java中transient关键字的应用
- java关键字Transient
- Java transient关键字使用小记
- Java中的transient,volatile和strictfp关键字
- java中transient、volatile、strictfp关键字说明