java中的序列化和串行化的区别

 我来答
随性亻
推荐于2017-09-08 · TA获得超过4180个赞
知道小有建树答主
回答量:4622
采纳率:84%
帮助的人:635万
展开全部
假设你想保存一个或多个对象的状态。如果Java不具备串行化能力,就不得不使用某个I/O类写出你想保存的所有对象的实例变量的状态。
串行化简单地说就是“保存这个对象及其所有实例变量Transient,这意味,不会把瞬态变量的值作为对象的串行化状态的一部分包括进来。”。实际上,更有趣的是,显式地将一个变量标识为
将要实现序列化的类必须实现Serializable接口或者是Externalizable接口。
在Serializable接口中没有定义任何方法,而在Externalizable接口中需要实现
public void writeExternal(ObjectOutput out) throws IOException{}以及
public void readExternal(ObjectInput in) throws IOException,ClassNotFoundException{}抽象方法。

一.实现Serializable接口的序列化
package demo;
import java.io.Serializable;

public class Person implements Serializable
{
private String name;
private char sex;
private int age;

public Person(String name,char sex,int age)
{
this.name=name;
this.sex=sex;
this.age=age;
}

public String getName()
{
return name;
}

public void setName(String name)
{
this.name = name;
}

public char getSex()
{
return sex;
}

public void setSex(char sex)
{
this.sex = sex;
}

public int getAge()
{
return age;
}

public void setAge(int age)
{
this.age = age;
}

public String toString()
{
return getName()+", "+getSex()+", "+getAge();
}

}
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
光舟湖畔
推荐于2017-09-27 · TA获得超过2694个赞
知道小有建树答主
回答量:1643
采纳率:0%
帮助的人:1228万
展开全部
假设你想保存一个或多个对象的状态。如果Java不具备串行化能力,就不得不使用某个I/O类写出你想保存的所有对象的实例变量的状态。
串行化简单地说就是“保存这个对象及其所有实例变量Transient,这意味,不会把瞬态变量的值作为对象的串行化状态的一部分包括进来。”。实际上,更有趣的是,显式地将一个变量标识为
将要实现序列化的类必须实现Serializable接口或者是Externalizable接口。
在Serializable接口中没有定义任何方法,而在Externalizable接口中需要实现
public void writeExternal(ObjectOutput out) throws IOException{}以及
public void readExternal(ObjectInput in) throws IOException,ClassNotFoundException{}抽象方法。

一.实现Serializable接口的序列化
package demo;
import java.io.Serializable;

public class Person implements Serializable
{
private String name;
private char sex;
private int age;

public Person(String name,char sex,int age)
{
this.name=name;
this.sex=sex;
this.age=age;
}

public String getName()
{
return name;
}

public void setName(String name)
{
this.name = name;
}

public char getSex()
{
return sex;
}

public void setSex(char sex)
{
this.sex = sex;
}

public int getAge()
{
return age;
}

public void setAge(int age)
{
this.age = age;
}

public String toString()
{
return getName()+", "+getSex()+", "+getAge();
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
reshiner
2011-12-29 · 贡献了超过141个回答
知道答主
回答量:141
采纳率:0%
帮助的人:119万
展开全部
序列化是将内存对象输出到硬盘,或通过网络传输时的技术;
串行化是什么?相对于并行的那个串行?串行表示排队等候,前一件任务完成才可以开始后一个任务。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rotter1999
2011-12-29 · TA获得超过385个赞
知道小有建树答主
回答量:318
采纳率:0%
帮助的人:364万
展开全部
同一个单词的两种翻译
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式