序列化能干吗?

(1)通过序列化可以把数据永久地保存到硬盘上(通常存放在文件里)

(2)利用序列化实现远程通信,即在网络上传送对象的字节序列。

网上搜索的都是这样的解释,抽象,难懂。

我当时看见这两问题的时候,我就有两个问题?

(1).txt,.java,.class文件我也没序列化,不也保存在银盘上了吗?我写的java对象没实现serializable,不也保存在我的硬盘上了吗?.java,.class文件我都看得见。

(2).java文件不也是二进制文件保存在硬盘上的吗?干嘛非得序列化?

上面的疑惑对也不对。

.class,.java这叫源代码,你开发的人才可以看见的。当别人运行你代码的时候,你会把源代码给他们吗,不可能,那你怎么保存运行中的数据呢?比如游戏的存档,.txt文件?怎么可能,你重启程序是需要读档的,.txt文件是会被修改的。序列化的对象是人读不懂的,只有机器反序列化才懂。现在知道为什么需要实现序列化到本地硬盘了。第一,你是用的outputstream写到本地的,这就要求保存到本地的对象必须能被序列化的,第二,你也不想让别人读懂修改。

网上传输问题,你传输数据,java中传输的数据必须是可以序列化的,比如你想通过网络传输对象,对象如果不序列化,你怎么传,传int i= 0,String a = “我”吗?你怎么可能传的过去,而且,如果你传的对象对方想在自己的Java虚拟机上的运行呢,序列化可以保证我反序列化不会出问题。

参考文献:

超有意思的问答

最新文章

  1. HTML CSS SPRITE 工具
  2. href和src的使用场景
  3. jquery简单动画
  4. 计算器软件的代码实现 (策略模式+asp.net)
  5. 使用HTML5/CSS3制作便签贴
  6. BZOJ 3224: Tyvj 1728 普通平衡树(BST)
  7. 【分享】深入浅出WPF全系列教程及源码
  8. 算法 - 乞讨n中位数(C++)
  9. 正则表达式:reg.test is not a function
  10. eastcom——eclipse中运行vtmserver项目
  11. (最完美)红米手机5的Usb调试模式在哪里打开的教程
  12. 【转】Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法
  13. 吴恩达机器学习笔记26-样本和直观理解1(Examples and Intuitions I)
  14. 升级到 Android Studio 3.0 + Gradle 4.1 遇到的一些坑及解决方案
  15. 053 关于hive的存储格式
  16. SpringBoot(2.0.4.RELEASE)+Elasticsearch(6.2.4)+Gradle简单整合
  17. Python异常处理回顾与总结
  18. ExtJS 表单 submit时错误处理
  19. 谈谈SQL server的 worker threads-----微软亚太区数据库技术支持组 官方博客
  20. Eclipse注释配置

热门文章

  1. json-server mock数据
  2. C#开发模式——单例模式
  3. JS组件系列——在ABP中封装BootstrapTable
  4. openstack中使用linux_bridge实现vxlan网络
  5. android-iconify 使用详解
  6. SQL SERVER Buffer Pool扩展
  7. 使用jquery获取url及url参数的方法
  8. Learn c for the Second day
  9. 一步一步学MySQL-一致性非锁定读和锁定读
  10. 怎么用snapman一个人在三天内开发出一个复杂的软件开发项目管理系统