什么是序列化 怎么序列化 为什么序列化
序列化 (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
什么是序列化 怎么序列化 为什么序列化相关推荐
- java 序列化慢_java原生序列化慢在哪里?
Java原生序列化和二进制序列化性能比较 序列化速度 package com.clq.netty.serializable; import java.io.ByteArrayOutputStream; ...
- 【Android Protobuf 序列化】Protobuf 性能测试 ( fastjson 序列化与反序列化 | gson 序列化与反序列化 | 三种序列化与反序列化性能对比 )
文章目录 一.导入依赖库 二.构造 JavaBean 三.fastjson 序列化与反序列化 四.gson 序列化与反序列化 五.完整代码 1.主界面代码 2.JSON 测试代码 3.执行结果 六.参 ...
- Java之什么是序列化以及为什么要序列化
http://blog.csdn.net/tlycherry/article/details/8986720 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字 ...
- python建立数据库并序列化_Python之数据序列化(json、pickle、shelve)
一.python类型数据和JSON数据格式互相转换 pthon 中str类型到JSON中转为unicode类型,None转为null,dict对应object 二. 序列化/反序列化 将对象转换为可通 ...
- Atitit php序列化 php的serialize序列化和json序列化
Atitit php序列化 php的serialize序列化和json序列化 PHP 对不同类型的数据用不同的字母进行标示,Yahoo 开发网站提供的Using Serialized PHP with ...
- 对象序列化Java中的序列化
首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 当两个进程在停止远程通信时,彼此可以发送各种类型的数据.无论是何种类型的数据,都市以二进制序列的情势在络网上传送.发送方需要把这个Java对 ...
- 字定义JSON序列化支持datetime格式序列化
字定义JSON序列化支持datetime格式序列化 由于json.dumps无法处理datetime日期,所以可以通过自定义处理器来做扩展,如: import json from datetime i ...
- android 序列化传参数,Android序列化之Parcelable和Serializable的使用详解
序列化与反序列 首先来了解一下序列化与反序列化. 序列化 由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象写入到磁盘或者其他介质中,这个过程就叫做序列化. 反序 ...
- 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称
文章目录 集合到文件 文件到集合 点名器 集合到文件数据排序版 标准输入流 打印流 对象序列化流 对象返序列化流 Properties 游戏次数 进程和线程 线程 多线程的实现方式 设置和获取线程名称 ...
- 什么是序列化? 如何实现(反)序列化 序列化的应用
1. 什么是序列化与反序列化,什么情况需要序列化 1.1 序列化 序列化是什么 序列化的目的 什么情况需要序列化 1.2 反序列化 反序列化是什么 反序列化的目的 2. Java中的序列化与反序列化 ...
最新文章
- 组策略 从入门到精通 (一) 组策略的还原与备份和汇入
- Asp-Net-Core开发笔记:在docker部署时遇到一个小坑
- 华为交换机查看端口流量_华为交换机限速及流量统计配置
- Bootstrap圣诞节主题商城网站模板
- C#学习笔记(十一):类和对象
- 解决Failed to load the JNI shared library xxx/xxx/jvm.dll 错误
- Java后端知识---数据结构(1)
- 前置递增运算符(JS)
- 鼠标跟随事件jQuery
- windows server 2008 关机后安装自动更新,反复启动,不能进入系统
- redis-trib.rb命令详解
- Android 读取assets文件中的文件
- 图的分支生成:对稀疏的无向图,在度数不等于2的节点处,将图“拆散”,输出各条分支,分别用深度优先搜索和广度优先搜索实现。
- Hadoop系列-MapReduce设计思想与原理机制(九)
- 新建SpringCloud电商后台项目
- 万圣节 数据_万圣节最可怕的12种开发商恐惧
- 学Linux有哪些就业方向?
- Java基础学习经验分享
- FMT-Autopilot Ubuntu环境搭建
- 怎么样去提升网站长尾词在百度搜狗360的排名?
热门文章
- 程序员编程技术迅速提高终极攻略
- twilio php 发送短信,如何使用 Twilio 实现语音和短信功能 (PHP) | Microsoft Docs
- c语言个人所得税的打印思路,C语言编写一个计算个人所得税的程序,要求输入收入金额,能够输...
- C语言——函数(下)
- 保险业的5项CX预测
- 用rtracklayer读取和输出BigWig
- 前端中DOM是什么,怎样理解dom
- Qlist+QMap+QVariant使用
- 湖州智慧社保显示服务器繁忙,湖州智慧社保
- 如何在头条做营销:2022今日头条营销价值洞察报告.pdf(附下载链接)