用法解释

1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。

2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。

3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

细节和例外

对象的序列化可以通过实现两种接口来实现:

若实现的是Serializable接口,则所有的序列化将会自动进行,符合上面的规律。

若实现的是Externalizable接口,则没有任何东西可以自动序列化,需要在writeExternal方法中进行手工指定所要序列化的变量,这与是否被transient修饰无关。

public class ExternalizableTest implements Externalizable {

    private transient String content = "是的,我将会被序列化,不管我是否被transient关键字修饰";

    @Override
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(content);
} @Override
public void readExternal(ObjectInput in) throws IOException,
ClassNotFoundException {
content = (String) in.readObject();
} public static void main(String[] args) throws Exception { ExternalizableTest et = new ExternalizableTest();
ObjectOutput out = new ObjectOutputStream(new FileOutputStream(
new File("test")));
out.writeObject(et); ObjectInput in = new ObjectInputStream(new FileInputStream(new File(
"test")));
et = (ExternalizableTest) in.readObject();
System.out.println(et.content); out.close();
in.close();
}
} //content变量会被序列化吗?是的,运行结果就是:
//是的,我将会被序列化,不管我是否被transient关键字修饰

最新文章

  1. jQuery初学:find()方法及children方法的区别分析
  2. JQuery 控制元素显示隐藏
  3. 如何在Crystal Portlet中正确返回JSON数据给AJAX请求?
  4. 【JS复习笔记】06 方法
  5. POJ 1723
  6. 探究Activity的各回调方法
  7. DBA 经典面试题(5)
  8. SpringMVC+Spring3+Hibernate4开发环境的搭建
  9. HDU 6185 Covering 矩阵快速幂
  10. java 利用反射构造泛型类
  11. 从备份文件bak中识别SQL Server的版本
  12. mysql8操作命令(持续更新)
  13. Servlet 使用ServletContext共享数据,读取web.xml配置
  14. Pinyin4j实战
  15. python 全栈开发,Day28(复习,os模块,导入模块import和from)
  16. Ajax跨域CORS
  17. urllib 基础模块
  18. iOS 建立项目过滤机制 —— 给工程添加忽略文件.gitignore
  19. Python Tkinter参考资料之(通用控件属性)
  20. Delphi使用Indy、ICS组件读取网页

热门文章

  1. meta中的viewport指令
  2. xcode Git
  3. windows 程序的本体与操作系统之间的关系
  4. 2015安徽省赛 F.多重部分和问题
  5. HDU 2955 Robberies 背包概率DP
  6. php页面打开响应时间
  7. A PHP extension for Facebook's RocksDB
  8. shell笔记-local、export用法 、declare、set
  9. 使用WebDriver遇到的那些坑(转)
  10. Android Volley获取json格式的数据