序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

序列化使其他代码可以查看或修改,那些不序列化便无法访问的对象实例数据。确切地说,代码执行序列化需要特殊的权限:即指定了 SerializationFormatter 标志的 SecurityPermission。在默认策略下,通过 Internet 下载的代码或 Internet 代码不会授予该权限;只有本地计算机上的代码才被授予该权限。

通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,能够解释该格式的代码有可能能够确定这些数据的值,而不依赖于该成员的可访问性。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。

对于任何可能包含重要的安全性数据的对象,如果可能,应该使该对象不可序列化。如果它必须为可序列化的,请尝试生成特定字段来保存不可序列化的重要数据。如果无法实现这一点,则应注意该数据会被公开给任何拥有序列化权限的代码,并确保不让任何恶意代码获得该权限。

摘自百度百科:https://baike.baidu.com/item/序列化/2890184?fr=aladdin

java中一般将需要序列化的对象实现serializable接口。如果你想某个字段不序列化,将其声明为transient.

序列化的原因是想将对象转换成流,方便存储和在网络上传输。

什么情况下会用到序列化?

 1当你想把内存中的对象写入到硬盘时2当你想用套接字在网络上传输对象时3当你想通过RMI调用对象时
(RMI是什么东西?):RMI总结来说就是远程调用对象,在一个jvm上调用另一个jvm的对象。

序列化需要注意的事项

 1序列化只保存对象的状态,而不管对象的方法。2当一个父类实现了序列化,它的子类也自动实现序列化,不用显示进行实现了。3当一个实例对象引用其他对象,当序列化该对象时也把引用的对象进行了实例化。

参考链接:https://www.cnblogs.com/mkl34367803/p/10659776.html


什么是序列化 怎么序列化 为什么序列化相关推荐

  1. java 序列化慢_java原生序列化慢在哪里?

    Java原生序列化和二进制序列化性能比较 序列化速度 package com.clq.netty.serializable; import java.io.ByteArrayOutputStream; ...

  2. 【Android Protobuf 序列化】Protobuf 性能测试 ( fastjson 序列化与反序列化 | gson 序列化与反序列化 | 三种序列化与反序列化性能对比 )

    文章目录 一.导入依赖库 二.构造 JavaBean 三.fastjson 序列化与反序列化 四.gson 序列化与反序列化 五.完整代码 1.主界面代码 2.JSON 测试代码 3.执行结果 六.参 ...

  3. Java之什么是序列化以及为什么要序列化

    http://blog.csdn.net/tlycherry/article/details/8986720  序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字 ...

  4. python建立数据库并序列化_Python之数据序列化(json、pickle、shelve)

    一.python类型数据和JSON数据格式互相转换 pthon 中str类型到JSON中转为unicode类型,None转为null,dict对应object 二. 序列化/反序列化 将对象转换为可通 ...

  5. Atitit php序列化 php的serialize序列化和json序列化

    Atitit php序列化 php的serialize序列化和json序列化 PHP 对不同类型的数据用不同的字母进行标示,Yahoo 开发网站提供的Using Serialized PHP with ...

  6. 对象序列化Java中的序列化

    首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 当两个进程在停止远程通信时,彼此可以发送各种类型的数据.无论是何种类型的数据,都市以二进制序列的情势在络网上传送.发送方需要把这个Java对 ...

  7. 字定义JSON序列化支持datetime格式序列化

    字定义JSON序列化支持datetime格式序列化 由于json.dumps无法处理datetime日期,所以可以通过自定义处理器来做扩展,如: import json from datetime i ...

  8. android 序列化传参数,Android序列化之Parcelable和Serializable的使用详解

    序列化与反序列 首先来了解一下序列化与反序列化. 序列化 由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象写入到磁盘或者其他介质中,这个过程就叫做序列化. 反序 ...

  9. 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称

    文章目录 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称 ...

  10. 什么是序列化? 如何实现(反)序列化 序列化的应用

    1. 什么是序列化与反序列化,什么情况需要序列化 1.1 序列化 序列化是什么 序列化的目的 什么情况需要序列化 1.2 反序列化 反序列化是什么 反序列化的目的 2. Java中的序列化与反序列化 ...

最新文章

  1. 组策略 从入门到精通 (一) 组策略的还原与备份和汇入
  2. Asp-Net-Core开发笔记:在docker部署时遇到一个小坑
  3. 华为交换机查看端口流量_华为交换机限速及流量统计配置
  4. Bootstrap圣诞节主题商城网站模板
  5. C#学习笔记(十一):类和对象
  6. 解决Failed to load the JNI shared library xxx/xxx/jvm.dll 错误
  7. Java后端知识---数据结构(1)
  8. 前置递增运算符(JS)
  9. 鼠标跟随事件jQuery
  10. windows server 2008 关机后安装自动更新,反复启动,不能进入系统
  11. redis-trib.rb命令详解
  12. Android 读取assets文件中的文件
  13. 图的分支生成:对稀疏的无向图,在度数不等于2的节点处,将图“拆散”,输出各条分支,分别用深度优先搜索和广度优先搜索实现。
  14. Hadoop系列-MapReduce设计思想与原理机制(九)
  15. 新建SpringCloud电商后台项目
  16. 万圣节 数据_万圣节最可怕的12种开发商恐惧
  17. 学Linux有哪些就业方向?
  18. Java基础学习经验分享
  19. FMT-Autopilot Ubuntu环境搭建
  20. 怎么样去提升网站长尾词在百度搜狗360的排名?

热门文章

  1. 程序员编程技术迅速提高终极攻略
  2. twilio php 发送短信,如何使用 Twilio 实现语音和短信功能 (PHP) | Microsoft Docs
  3. c语言个人所得税的打印思路,C语言编写一个计算个人所得税的程序,要求输入收入金额,能够输...
  4. C语言——函数(下)
  5. 保险业的5项CX预测
  6. 用rtracklayer读取和输出BigWig
  7. 前端中DOM是什么,怎样理解dom
  8. Qlist+QMap+QVariant使用
  9. 湖州智慧社保显示服务器繁忙,湖州智慧社保
  10. 如何在头条做营销:2022今日头条营销价值洞察报告.pdf(附下载链接)