`

java的Serializable接口笔记

 
阅读更多
一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。
那进行序列化有什么好处呢?
什么情况下需要序列化
a)当你想把的内存中的对象写入到硬盘的时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;

没有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...

}
分享到:
评论

相关推荐

    张龙JAVA圣思园笔记

    笔记中会涵盖Serializable接口,ObjectInputStream和ObjectOutputStream的使用,以及反序列化的注意事项。 4. **集合框架**: 集合框架是Java中处理数据集合的关键工具,包括List、Set、Map接口以及ArrayList、...

    java网络编程笔记

    Java的Serializable接口为此提供了便利,利用ObjectInputStream和ObjectOutputStream类,可以轻松实现对象的序列化与反序列化,便于远程对象的传递。 7. **QQ中的用户管理与消息转发**:QQ系统中,通过维护一个用户...

    java完美笔记

    在Java开发中,类名通常与表名保持一致,简单Java类应实现Serializable接口,属性使用包装类并封装,提供相应的setter和getter方法,且包含无参构造函数。类的包名应遵循一定的命名规则,如在示例中,VO类放在与...

    java私塾全笔记+1-15章pdf

    - **对象序列化**:理解序列化机制,如何实现Serializable接口,以及反序列化的操作。 6. **多线程**: - **线程的创建与运行**:通过Thread类和Runnable接口创建线程,理解start()与run()的区别。 - **线程同步...

    JAVA笔记JAVA笔记.docx

    ### JAVA笔记要点解析 #### JAVASE概述与基础概念 - **数组与数组拷贝**: - 数组是固定大小的数据结构,用于存储同种类型的数据元素。 - `java.lang.System`类中提供了静态方法`arraycopy`用于数组拷贝。此方法...

    java笔记java笔记java笔记

    - **序列化**:通过`Serializable`接口和`ObjectInputStream`/`ObjectOutputStream`实现对象的序列化和反序列化。 #### 四、`java.math`包 `java.math`包提供了对大数值的精确运算支持。 - **`BigInteger`类**:...

    学习笔记 java\CoreJava笔记\CoreJava_day11

    CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...

    JAVA试题 JAVA复习题 JAVA复习笔记

    - **对象序列化与反序列化**:了解Serializable接口,实现对象的持久化。 - **NIO**:非阻塞I/O模型,适用于高并发场景。 6. **多线程** - **线程的创建与状态**:通过Thread类和Runnable接口创建线程,理解线程...

    java学习比记-北大青鸟时做的笔记,每堂课都有

    - **对象序列化**:通过Serializable接口,可将对象转换为字节流,便于存储或在网络上传输。 6. **多线程** - **线程概念**:Java支持多线程编程,允许多个任务同时执行。 - **线程创建**:通过实现Runnable接口...

    Java入门学习笔记

    ### Java入门学习笔记 #### 一、Java特点与运行原理 **1.1 Java特点** - **简单性:** Java的设计使得它易于学习且避免了许多传统编程语言中存在的复杂性。 - **面向对象:** Java是一种纯面向对象的语言,支持...

    CoreJava学习笔记

    Java中可以使用Serializable接口来实现对象的序列化和反序列化。 **I/O流基础:** Java中I/O流用于处理输入输出操作,包括文件、网络等。 **流的分类:** 流可以分为字节流和字符流两大类。 **I/O输入输出:** ...

    Effective-Java读书笔记

    13. **使用可序列化接口谨慎**:实现Serializable接口使得对象能够被序列化,但也增加了安全风险和版本控制的复杂性。 14. **使用finally块来确保资源的释放**:无论try-catch块的结果如何,finally块中的代码总会...

    Java所有课程超全学习笔记

    3.2 对象序列化与反序列化:Serializable接口,ObjectOutputStream和ObjectInputStream的使用。 3.3 NIO(New IO):通道(Channel)、缓冲区(Buffer)、选择器(Selector),非阻塞I/O的优势。 四、多线程 4.1 ...

    Java设计模式学习笔记.pdf

    5. 使用反序列化,JVM会创建一个对象,实现Serializable接口的类可以被反序列化。 理解这些设计模式的概念和实践方法对于设计高质量的软件系统是至关重要的。在实际开发中,合理地应用设计模式可以使代码更加模块化...

    JavaSE-接口部分笔记

    ### JavaSE-接口部分笔记 #### 一、接口概述 在Java编程语言中,接口(Interface)是一种重要的抽象数据类型,它定义了一组方法签名,这些方法必须由实现了该接口的类来具体实现。接口的主要作用是定义行为的标准...

    JAVA的IO笔记,希望对大伙有用哦!

    在Java中,对象序列化是通过实现`Serializable`接口来实现的。当一个对象被序列化时,它的状态被保存到磁盘或网络上,可以稍后恢复。例如: ```java Student stu = new Student(); stu.setName("zhang san"); stu....

    Java 客户端服务器程序 学习笔记

    Java的`java.io.Serializable`接口和`ObjectOutputStream/ObjectInputStream`可以用于对象的序列化和反序列化。 7. **安全性**:考虑到网络安全,开发者可能还会介绍如何在Java客户端服务器程序中添加加密和身份...

    JAVA常用API文档 中文完整版.zip

    Serializable接口则用于对象的序列化和反序列化。 2. **集合框架**:包括List、Set、Map等接口以及ArrayList、LinkedList、HashSet、HashMap等实现类。它们提供了数据存储和操作的各种方式,如添加、删除、查找和...

Global site tag (gtag.js) - Google Analytics