`
hzh0725
  • 浏览: 82301 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Serializable 相关知识

    博客分类:
  • java
阅读更多
标记接口,主要是网络传输的,在多个jvm中的传输vo的必须实行该接口

网络传输需要做到serialization and deserialization

serialization

默认是out.defaultWriteObject

defaultWriteObject(){             //默认传输方法

   ...

   if(hasWriteReplaceMethod()){    //objectWriteReplace方法

      writeReplace()

   }else{

        if(isExternalizable()){    //object实现Externalizable接口

            writeExternal(ObjectOutput out)

        }else{

            if(hasWriteObjectMethod()){  //objectWriteObject方法

                writeObject(java.io.ObjectOutputStream out)

            }else{

                ...

            }

        }

   }

}

 deserialization

默认是in.defaultReadObject

defaultReadObject(){

...

if(isExternalizable()){

     readExternal(ObjectInput in)

}else{

   if(hasReadObjectMethod()){

       readObject(java.io.ObjectInputStream in)

   }else{

       默认的方法

   }

   if(hasReadResolveMethod()){

      readResolve()

   }else{

      默认方法

   }

}

}

 

分享到:
评论

相关推荐

    Serializable在C#中的作用.NET 中的对象序列化

    ### C#中Serializable的作用与对象序列化详解 #### 一、引言 在现代软件开发中,特别是基于.NET框架的应用程序开发中,对象序列化是一项非常重要的技术。...希望这些知识能帮助您在实际项目中更加高效地解决问题。

    可序列化接口Serializable

    本文将深入探讨`Serializable`接口的细节,以及与其相关的高级知识。 `Serializable`接口是Java中的一个标记接口,没有包含任何方法。当你在一个类上声明实现了这个接口,你实际上是在告诉JVM(Java虚拟机)该类的...

    java序列化(Serializable)的作用和反序列化

    ### Java序列化(Serializable)的作用与反序列化详解 #### 一、序列化是什么? 序列化是指将程序中的对象转换为字节流的过程,从而方便存储或传输这些对象。...掌握这些知识对于开发高效可靠的Java应用程序至关重要。

    PHP自定义序列化接口Serializable用法分析

    在了解了如何使用PHP的Serializable接口之后,开发者还需要掌握其他与面向对象编程相关的知识点,如继承、封装、多态等。此外,还需了解PHP的其他内置接口和特性,比如Iterator接口、Countable接口、Cloneable接口等...

    用序列化(Serializable)保存、读取对象

    知识拓展** - **对象图(Object Graph)**: 序列化不仅涉及单个对象,还包括所有被引用的对象,形成一个对象图。 - **流式序列化与数据结构序列化**: 流式序列化是Java的标准序列化方式,而数据结构序列化(如JSON...

    Android入门到精通知识总结.pdf

    在Activity间传递数据可以通过Intent的putExtra()和getExtra()方法实现,可以传递基本数据类型、Parcelable对象(如Parcelable或Serializable的子类)和Bundle。 ### 4. **处理Back按键** `onBackPressed()`方法...

    MySQL必备知识手册

    MySQL支持两种事务隔离级别:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。 备份和恢复是数据库管理的重要部分。MySQL提供mysqldump工具进行...

    java基础知识 io

    以下将详细阐述Java基础知识中的IO相关知识点。 1. **流的概念**:在Java中,流(Stream)是一种抽象概念,它代表了数据的序列,可以是字符或字节,数据可以从源(如文件、键盘)读取到目的地(如显示器、文件)。...

    Android核心知识点笔记V2020.03.30.pdf

    Java线程相关知识点涉及线程属性、状态、状态控制,包括创建、启动、终止、休眠、中断等操作。volatile关键字可以保证线程对变量的可见性。synchronized关键字和Lock接口用于线程同步,保证多线程访问共享资源时不会...

    20 数据库高频知识点.docx

    - **串行化(Serializable)**:最高级别的隔离级别,可以避免所有并发问题,但性能较差,因为它通过锁定机制强制事务依次执行。 **2.3 MySQL的默认事务隔离级别** MySQL默认的事务隔离级别为`Repeatable Read`,这...

    java考试知识

    22. 对象序列化:Serializable接口,以及对象的序列化和反序列化。 七、网络编程 23. Socket编程:TCP和UDP协议,ServerSocket和Socket类的应用。 24. URL与URLConnection:HTTP通信的基础,理解URL的组成,以及...

    java_汇总知识点1

    下面是一些Java相关的知识点摘要,包括基础知识、框架、并发、内存管理和设计模式等。 1. **Java基础知识**: - 自动装箱:Java SE 5.0引入了自动装箱和拆箱机制,将基本类型和其对应的包装类之间进行转换。 - ...

    java面试知识点整理.docx

    对象能够被序列化,需要实现 `java.io.Serializable...以上就是 Java 面试中关于基础、数据类型、字符串以及序列化知识点的详解。掌握这些内容对于理解 Java 的核心特性以及在面试中表现出扎实的理论基础是非常重要的。

    intent传递自定义对象

    以下我们将详细探讨如何通过Intent传递自定义对象以及涉及到的相关知识点。 首先,为了让自定义对象能够被Intent传递,我们需要确保该对象实现了Serializable接口。Serializable是Java提供的一个标记接口,标记一个...

    【Java基础知识】全面涵盖了JavaSE的知识点笔记

    - 对象序列化:Serializable接口,ObjectInputStream,ObjectOutputStream。 8. 多线程: - 线程的创建:Thread类,Runnable接口。 - 线程同步:synchronized关键字,wait(),notify(),notifyAll()方法。 - ...

    Mysql相关知识学习整理.zip

    常见的事务隔离级别有读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。 八、备份与恢复 MySQL提供了多种备份策略,如mysqldump工具进行逻辑备份...

    java 基础知识资料下载

    - `Serializable`接口是用于实现对象序列化和反序列化的,这对于持久化对象或者在网络间传输对象非常有用。 在实际开发中,配置开发环境也是重要的一环。例如,MyEclipse是一款集成开发环境,它基于Eclipse并扩展...

    MySQL相关知识学习,包括《高性能 MySQL》。.zip

    以下是一些MySQL相关的重要知识点: 1. **MySQL架构**:MySQL采用C/S(客户端/服务器)架构,客户端通过SQL语句与服务器进行通信。服务器处理请求并返回结果。 2. **存储引擎**:MySQL支持多种存储引擎,如InnoDB...

    Hibernate关键知识点大全

    - 事务的隔离级别包括读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE),它们决定了并发操作中的数据一致性。 12. **锁机制** - 悲观锁和乐观锁...

Global site tag (gtag.js) - Google Analytics