- 贝贝
-
问题一:java 中的序列化是什么意思 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。
简单来说 序列化就是把Java对象储存在某一地方(硬盘、网络),以便于传输
问题二:什么是序列化 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序俯化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
问题三:java对象的序列化是什么意思 1、序列化是干什么的?
简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以 用自己的各种方法来保存Object states,
但是Java给你提供一种应该比你自己好的保存对象状态的机制、那就是序列化。
2、什么情况下需要序列化?
a)当你想把的内存中的对象保存到一个文件或者数据库中时候。
b)当你想用套接字在网络上传送对象的时候
c)当你想通过RMI传输对象的时候(RMI->Remote Method Invocation 远程方法调用)
3、当对一个对象实现序列化时,究竟发生了什么?
在没有序列化前,每个保存在堆(Heap)中的对象都有相应的状态(state),即实体变量(instance ariable)
例如:Foo myFoo=new Foo(); myFoo.setWidth(20); myFoo.setHeight(40);
问题四:Java中为什么要序列化?什么时候用到序列化? 序列化可以将内存中的类写入文件或数据库中。比如将某个类序列化后存为文件,下次读取时只需将文件中的数据反序列化就可以将原先的类还原到内存中。也可以将类序列化为流数据进行传输。总的来说就是将一个已经实例化的类转成文件存储,下次需要实例化的时候只要反序列化即可将类实例化到内存中并保留序列化时类中的所有变量和状态。
例如:hibernate中实体类的钝化就是将类序列化后存入磁盘并释放内存空间。
问题五:JAVA中,序列化是指的什么?有何用途? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。
序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。
是对象永久化的一种机制。
确切的说应该是对象的序列化,一般程序在运行时,产生对象,这些对象随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些保存下来的对象。这种情况下就要用到对象的序列化。
对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口
问题六:在JAVA中什么叫序列化和反序列化 30分 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
问题七:将数据序列化有什么作用啊? 啊?序列化?应该是说一个数据结构,比如二叉树之类,序列化以后会变成一个char数组或者一个string字符串这样,方便你存到文件里面或者通过网络传输。然后要恢复的时候就是“反序列化”,把文件里读出来/从网络收到的char数组或者string恢复成一棵二叉树或者其他什么东西。
主要就是方便保存
问题八:C#序列化和反序列化到底是什么意思? 序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。
我想最主要的作龚有:
1、在进程下次启动时读取上次保存的对象的信息
2、在不同的AppDomain或进程之间传递数据
3、在分布式应用系统中传递数据
问题九:c#中什么叫序列化操作? 在C#中序列化操作简单点来理解就是把内存的东西写到硬盘中,当然也可以写到内存中,而反序列化就是从硬盘中把信息读到内存中。 下面以 BinaryFormatter序列化类Book作为例子说明下什么是序列化。定义类Book: [Serializable]
public class Book
{
string name;
float price;
string author; public Book(string bookname, float bookprice, string bookauthor)
{
name = bookname;
price = bookprice;
author = bookauthor;
}
} 在类的上面增加了属性:Serializable.(如果不加这个属性,将抛出SerializationException异常). 通过这个属性将Book标志为可以序列化的.当然也有另一种方式使类Book可以序列化,那就是实行ISerializable接口了.在这里要注意了:Serializable属性是不能被继承的咯!!! 如果你不想序列化某个变量,该怎么处理呢?很简单,在其前面加上属性[NonSerialized] .比如我不想序列化 string author; 那我只需要 [NonSerialized] string author; 好了,现在请看怎么实现序列化: 我们使用namespace: using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; 首先创建Book实例,like this: Book book = new Book(Day and Night, 30.0f, Bruce); 接着当然要创建一个文件了,这个文件就是用来存放我们要序列化的信息了. FileStream fs = new FileStream(@C:ook.dat, FileMode.Create); 序列化的实现也很简单,like this: BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, book); 很简单吧!现在我列出整个原代码,包括反序列化. static void Main(string[] args)
{
Book book = new Book(Day and Night, 30.0f, Bruce); using(FileStream fs = new FileStream(@C:ook.dat, FileMode.Create))
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, book);
} book = null; using(FileStream fs = new FileStream(@C:ook.dat, FileMode.Open))
{
......>>
问题十:php 什么是序列化 string serialize ( mixed value )
serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。
这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。
想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。serialize() 可处理除了 resource 之外的任何类型。甚至可以 serialize() 那些包含了指向其自身引用的数组。你正 serialize() 的数组/对象中的引用也将被存储。
当序列化对象时,PHP 将试图在序列动作之前调用该对象的成员函数 __sleep()。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 恢复对象时, 将调用 __wakeup() 成员函数。
注: 在 PHP 3 中,对象属性将被序列化,但是方法则会丢失。PHP 4 打破了此限制,可以同时存储属性和方法。请参见类与对象中的序列化对象部分获取更多信息。
例子 1. serialize() 示例