将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。   序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。确切地说,代码执行序 列化需要特殊的权限:即指定了 SerializationFormatter 标志的 SecurityPermission。在默认策略下,通过 Internet 下载的代码或 Intranet 代码不会授予该权限;只有本地计算机上的代码才被授予该权限。   通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,能够解释该格式的代码有可能能够确定这些数据的值,而不依赖于该成员的可访问性。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。   对于任何可能包含重要的安全性数据的对象,如果可能,应该使该对象不可序列化。如果它必须为可序列化的,请尝试生成特定字段来保存不可序列化的重要数据。如果无法实现这一点,则应注意该数据会被公开给任何拥有序列化权限的代码,并确保不让任何恶意代码获得该权限。

序列化解释

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

序列化的目的

1、以某种存储形式使自定义对象持久化;   2、将对象从一个地方传递到另一个地方。   3、使程序更具维护性

NET Framework 提供两种序列化技术

* 二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。您可以将对象序列化到流、磁盘、内存和网络等等。远程处理使用序列化“通过值”在计算机或应用程序域之间传递对象。   * XML 序列化仅序列化公共属性和字段,且不保持类型保真度。当您要提供或使用数据而不限制使用该数据的应用程序时,这一点是很有用的。由于 XML 是一个开放式标准,因此,对于通过 Web 共享数据而言,这是一个很好的选择。SOAP 同样是一个开放式标准,这使它也成为一个颇具吸引力的选择。

java 为什么序列化_java类为什么要序列化相关推荐

  1. java高性能序列化_Java最佳实践–高性能序列化

    java高性能序列化 在使用Java编程语言时,我们将继续讨论与建议的实践有关的系列文章,我们将讨论并演示如何将对象序列化用于高性能应用程序. 所有讨论的主题均基于用例,这些用例源于电信行业关键任务超 ...

  2. java get方法不序列化_Java中的Json序列化,不容忽视的getter

    在开发的过程中,经常会碰到和自己预期不一样的情况.有的时候自己去研究一下还是很有趣的.这两天在写java web的时候,碰到了一个对象序列化的问题. 问题重现 public class AjaxJso ...

  3. java实体序列化_java – 在JPA实体序列化(JSON)上防止JAX-RS中...

    我有一个实体如下: @XmlRootElement @Entity @Table(name="CATEGORY") @Access(AccessType.FIELD) @Cache ...

  4. java 静态方法重写_Java 类中可以覆盖静态方法吗?

    Java技术栈 www.javastack.cn 打开网站看更多优质文章 Java 类中可以覆盖静态方法吗? 不,你不能在Java中覆盖静态方法,但在子类中声明一个完全相同的方法不是编译时错误,这称为 ...

  5. java 对象 方法_java——类、对象、方法

    一.类 1.Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类. 一个java文件可以有多个类,但是每一个类都会生成一个class字节码文件. 如果class 前加public ...

  6. java手机音乐_JAVA类(手机充电、放音乐示例)

    练习练习 import java.util.Scanner;//包含包 public class ex1 { public static void main(String args[])//程序入口 ...

  7. java初始化实例化_Java 类初始化和实例化以及多态理解

    前言 本篇主要讲解了类的初始化.实例化.静态代码块.构造器.getClass().super.this 等相关的知识点,做一个总结. demo 老规矩,看代码: Father.java public ...

  8. java初始化实例化_java类的初始化和实例化区别

    结论: 参考https://blog.csdn.net/qq_43672627/article/details/86616624 类的初始化:是完成程序执行前的准备工作.在这个阶段,静态的(变量,方法 ...

  9. java 保护类型_Java 类的受保护访问(学习 Java 编程语言 046)

    最好将类中的字段标记为 private,而方法标记为 public.任何声明为 private 的内容对其他类都是不可见的.这对子类来说也完全适用,即子类也不能访问超类的私有字段. Java 中的受保 ...

最新文章

  1. 正则表达式(括号)、[中括号]、{大括号}的区别小结
  2. 每个程序员都必须知道的 8 种数据结构
  3. 【Groovy】集合遍历 ( 使用 for 循环遍历集合 | 使用集合的 each 方法遍历集合 | 集合的 each 方法返回值分析 )
  4. 转:用GDB调试程序
  5. 表单如何添加大的文本框_在 Flutter 中进行文本框的创建和设定
  6. 64位虚拟机下asm()语法_一步步学写Windows下的Shellcode
  7. xampp运行php中文乱码,dvwa+xampp搭建显示乱码的问题及解决方案
  8. 静态属性,函数闭包,call/apply,继承
  9. shell 启动java程序_Shell 脚本启动java程序
  10. 【计算机网络】1.1 计算机网络的基本概念
  11. 对360搜索引擎的评价
  12. C#基础List与ArrayList
  13. 西藏民族大学计算机学院,西藏民族大学信息工程学院
  14. 适合小孩接触编程起步的几款软件,从游戏中学习编程
  15. 怎么设计计算机网络共享,怎么设置网络共享?教大家两种设置共享网络的方法...
  16. 华为笔记本linux双系统,真的有必要吗?华为笔记本搭载双系统
  17. java 叠加层_java简单设置图层实现图片叠加
  18. Docker 下 jitsi-meet 视频服务器 安装部署
  19. 淘宝官方订单API接口
  20. 计算机毕业设计Java金融业撮合交易系统(源码+系统+mysql数据库+lw文档)

热门文章

  1. 使用 Carla 和 Python 的自动驾驶汽车第 2 部分 —— 控制汽车并获取传感器数据
  2. 以下关于单模光纤的说法中,正确的是( )
  3. 中国大学MOOC 计算机组成原理第5章 测试(上)
  4. 为什么学Python
  5. TensorFlow错误:TypeError: __init__() got an unexpected keyword argument 'serialized_options'
  6. 【Qt】Qt下载教程
  7. 怎么判断前轮左右的位置_如何判定汽车前面左右轮的位置?大家有什么经验?...
  8. vivo手机解锁_vivo“手术刀”再营业,OriginOS让手机做“减法”
  9. tomcat跳转报错_微信小程序开发:使用reLaunch跳转时报错的解决步骤
  10. 计算机密码都有什么用,要不是他,你根本不会忘记密码。