java中的Serializable啥用 举例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的Serializable啥用 举例相关的知识,希望对你有一定的参考价值。

MVC中 java bean经常用这个.

----
没有implements Serializable,你就不能通过rmi(包括ejb)提供远程调用。
serialization 允许你将实现了Serializable接口的对象转换为字节序列,这些字节序列可以被完全存储以备以后重新生成原来的对象。
serialization不但可以在本机做,而且可以经由网络操作(就是猫小说的RMI)。这个好处是很大的----因为它自动屏蔽了操作系统的差异,字节顺序等。比如,在Window平台生成一个对象并序列化之,然后通过网络传到一台Unix机器上,然后可以在这台Unix机器上正确地重构这个对象。
Object serialization主要用来支持2种主要的特性:
1。Java的RMI(remote method invocation).RMI允许象在本机上一样操作远程机器上的对象。当发送消息给远程对象时,就需要用到serializaiton机制来发送参数和接收返回直。
2。Java的JavaBeans. Bean的状态信息通常是在设计时配置的。Bean的状态信息必须被存起来,以便当程序运行时能恢复这些状态信息。这也需要serializaiton机制。
总之如果在网络的环境下做类传输,应该还是implements Serializable。
----

一般定义类的时候用

class UserValue ... implements Serializable

String name;
String password;

get and set methods...

参考资料:bear830810 - 参将 九级

参考技术A 类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。

要允许不可序列化类的子类型序列化,可以假定该子类型负责保存和恢复超类型的公用 (public)、受保护的 (protected) 和(如果可访问)包 (package) 字段的状态。仅在子类型扩展的类有一个可访问的无参数构造方法来初始化该类的状态时,才可以假定子类型有此职责。如果不是这种情况,则声明一个类为可序列化类是错误的。该错误将在运行时检测到。

在反序列化过程中,将使用该类的公用或受保护的无参数构造方法初始化不可序列化类的字段。可序列化的子类必须能够访问无参数构造方法。可序列化子类的字段将从该流中恢复。

当遍历一个图形时,可能会遇到不支持 Serializable 接口的对象。在此情况下,将抛出 NotSerializableException,并将标识不可序列化对象的类。

参考资料:api

参考技术B Serializable序列化是把一个对象的状态写入一个字节流的过程,它执行RMI,RMI允许一台机器上的JAVA对象调用不同机器上的JAVA对象方法,对象可以作为参数提供给那个远程方法,发送机序列化该对象并传送它,接收机执行反序列化。 参考技术C 他就是一标识接口,实现它的类才可以被序列化。你可以看看API,这个接口里什么属性方法都没有,就是用来让ObjectInputStream识别是不是可以被序列化。 参考技术D 用来序列化象以便在网络上进行传输,在RMI和CORBA中会用到。

AS3中的void有啥用

【中文标题】AS3中的void有啥用【英文标题】:What is the use of void in AS3AS3中的void有什么用 【发布时间】:2011-08-01 06:51:06 【问题描述】:

void 在 Action Script 3.0 中有什么用?

谁能举例说明一下?

【问题讨论】:

重复:***.com/questions/4280132/… 【参考方案1】:

void是actionscript关键字,用于在函数签名中定义no返回类型,强制编译器对其进行限制/检查

例如

public function func():void

  //do some thing

上面的函数什么都不返回

希望这会有所帮助

【讨论】:

未定义的返回类型是 func():*. 对,最好说没有返回类型或不返回任何东西:)【参考方案2】:

这是一个函数类型。这意味着它不返回任何数据 默认情况下,Flash 总是期望返回一个值。例如,如果您编写这样的函数: 动作脚本代码:

function myFunction()


Flash 假定返回值仍然是可能的,因此请注意它使用资源。当您指定 :void 时,您实际上是在告诉 Flash 不要期望任何返回值,因此 Flash 不会浪费资源来观察它。

【讨论】:

在 AS3 中是 :void,没有大写 V :)。【参考方案3】:

对我来说最容易记住的方式是它是一个执行动作(换句话说,做某事)而不是返回某事的函数。

例子:

function myFunction(event:MouseEvent): void   
 this.play; //or some other action
//the above function returns nothing


function mySum(a:int, b:int): int
var myresult:int = a+b;
return myresult;
//the above function would return the sum of two integers that you passed into it

【讨论】:

什么? “myFuntion”将返回“play”评论...请..让我更深入..我还没有得到..

以上是关于java中的Serializable啥用 举例的主要内容,如果未能解决你的问题,请参考以下文章

abap SE11中数据字典中type group是做啥用的,怎么使用

java中的 classpath有啥用,我配完环境,没设置这个变量,程序也能运行啊! 求大神详细解释一下!

Java的IO的类都有哪些?都有啥用?

Serializable java序列化

AS3中的void有啥用

为啥要实现Serializable