对象的序列化

       Java的对象序列化用于将一个实现了Serializable接口的对象转换成一组byte,这样以后要用这个对象时候,就能把这些byte数据恢复出来,并据此重新构建那个对象。这一点甚至在跨网络的环境下也是如此,这意味着序列化机制能自动补偿操作系统方面的差异。也就是说,可以在Windows机器上创建一个对象,序列化之后,再通过网络传到Unix机器上,然后在那里进行重建,而不用担心在不同的平台上数据是怎样表示的,byte顺序怎样,或者别的什么细节。

      Java序列化技术可以将一个对象的状态写入一个byte流里,并且可以从其他地方把该byte流里的数据读出来,重新构造一个相同的对象。这种机制允许将对象通过网络进行传播,并可以随时把对象存储到数据库、文件等系统里。Java的序列化机制是RMI、EJB、JNNI等技术的技术基础。

       并非所有的Java类都可以序列化,为了使指定的类可以实现序列化,必须使该类实现接口java.io.Serializable。需要注意的是,该接口什么方法也没有。实现该类只是简单的标记该类准备支持序列化功能。

       在Java程序中,一般情况下,创建的对象随程序的终止而消失。但有些时候,希望把创建的某些对象完整地保留下来,以后再次使用。比如创建一个描述学生数据的类对象(其中包括帐号数据),如下。

public class Student{
	int id;
	String name;
	int age;
} 

       希望把这个类的一个实例保存在本地硬盘上,供以后的程序使用,或者保存在网络上的一台远程机器上,把这个对象提供给那台主机中的程序使用,这可以为许多程序提供很多的方便。 

       JAVA中可以通过对象的序列化来实现这个功能。序列化是指对象通过把自己转化为一系列字节,记录字节的状态数据,以便再次利用。

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值