Java 日看一类(36)之IO包中的ObjectInputVaildation接口和ObjectOutput接口

Java对象流ObjectInputStream和ObjectOutputStream使用 Java对象流使用及常见坑解决方法 阅读详情

ObjectInputVaildation类无继承类和引入包


该类的类头注释如下:

/**
 * Callback interface to allow validation of objects within a graph.
 * Allows an object to be called when a complete graph of objects has
 * been deserialized.
 *
 * @author  unascribed
 * @see     ObjectInputStream
 * @see     ObjectInputStream#registerValidation(java.io.ObjectInputValidation, int)
 * @since   JDK1.1
 */

大意如下:

允许验证图形中对象的回调接口。

允许在反序列化完整的对象图形后调用对象。



该类含有一个函数:

对该对象授予许可:

public void validateObject() throws InvalidObjectException;



该接口仅被javax.swing.JComponent中的ReadObjectCallback类完成,具体内容等到该类时再说




ObjectOutput接口无引入包

继承了DataOutput和AutoCloseable接口



该类的类头注释如下:

/**
 * ObjectOutput extends the DataOutput interface to include writing of objects.
 * DataOutput includes methods for output of primitive types, ObjectOutput
 * extends that interface to include objects, arrays, and Strings.
 *
 * @author  unascribed
 * @see java.io.InputStream
 * @see java.io.ObjectOutputStream
 * @see java.io.ObjectInputStream
 * @since   JDK1.1
 */

大意如下:

ObjectOutput接口继承了DataOutput并增加了写出对象的功能

DataOutput包括了写出基础数据类型的方法,ObjectOutput继承了该接口并增加了写出object,arrays和Strings的功能



该类含有如下方法:

写出对象

public void writeObject(Object obj)
  throws IOException;

写出单个byte

public void write(int b) throws IOException;

写出byte数组

public void write(byte b[]) throws IOException;

写出byte数组的特定区间

public void write(byte b[], int off, int len) throws IOException;

刷新输出流,清空内部数据

public void flush() throws IOException;

关闭输出流,释放资源

public void close() throws IOException;



该类的设置和其他输出类接口大同小异,主要在于writeObject方法的实现,这个方法也会是ObjectOutputStream重点实现的方法

XMC1402调试实战:如何用20元的Jlink-OB搞定SWD连接(附DAVE 4.4.2配置) 本文详细介绍了如何使用成本仅20元的Jlink-OB调试器,成功连接并调试英飞凌XMC1402芯片的完整实战流程。内容涵盖从理解芯片启动模式、使用Memtool完成首次烧录与模式切换,到Jlink-OB驱动安装、连接验证,以及在DAVE 4.4.2中配置调试环境并解决常见问题的全步骤,为个人开发者提供了一套高性价比的SWD调试解决方案。 阅读详情

相关推荐

EDA与机器学习融合:智能优化芯片设计流程的工程实践

机器学习作为数据驱动的核心技术,通过从历史数据中学习复杂模式,实现对系统行为的预测与优化。其原理在于构建模型,将输入特征映射到目标变量,从而揭示数据背后的内在规律。在工程领域,这项技术的核心价值在于能够将专家经验转化为可量化、可复用的智能模型,显著提升自动化水平与决策效率。电子设计自动化(EDA)是芯片设计的关键支撑,传统流程高度依赖人工试错,面临参数空间巨大、优化周期长等挑战。将机器学习应用于EDA,能够构建预测模型来预估设计性能(PPA),或通过代理模型加速设计空间探索,实现智能化的设计辅助与优化。本文

weixin_30411239的博客 685

(每日持续更新)jdk api之ObjectInputValidation基础、应用、实战

接口没有字段。:验证对象的有效性。

a89879193的专栏 931

相机图像质量研究(22)常见问题总结:CMOS期间对成像的影响--光学串扰

光学串扰是一个比较难以理解的光学现象,实际影响往往不大。一、光学串扰产生的原因通常是入射角度太大,光线在不同通道之间产生了混叠二、光学串扰产生的现象光学串扰容易导致迷宫纹。总结本节讲了光学串扰产生的原因,现象。

xiaoshixiu的专栏 1574

Java ObjectInputStream registerValidation()方法与示例

ObjectInputStream类registerValidation()方法 (ObjectInputStream Class registerValidation() method) registerValidation() method is available in java.io package. registerValidation()方法在java.io包中可用。 registe...

cumudi0723的博客 396

把 NAST 变成你的遥控器:用 ABAP 程序精确触发与处理 Output Type

摘要 SAP中的Message Control机制通过NAST表记录输出状态,支持自动触发打印、邮件等操作。关键步骤包括: 构造NAST记录:定义输出类型、介质、处理状态等参数 调用处理函数:使用RV_MESSAGE_UPDATE_SINGLE更新表,通过WFMC_MESSAGES_PROCESS执行输出 典型应用场景: 单据补发(如PO邮件重发) 外部系统集成触发输出 故障恢复处理积压消息 注意事项: 需提交事务确保更新生效 区分S/4HANA新旧输出体系 正确处理派发时间(VSZTP)和状态(VSTAT

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 259

PCL 点云按强度渲染颜色【2025最新版】

点云按反射强度渲染颜色,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 2万+

Java IO流--对象流ObjectInputStream和ObjectOutputStream及对象序列化机制的理解

对象序列化机制: 允许把内存中的java对象转换成平台无关的二进制流,从而允许把这种二进制流永久的保存到磁盘上,或通过网络将这种二进制流传输到另一个网络节点。(序列化) 当其他程序获取了这种二进制流,就可以恢复成原来的java对象。(反序列化) 序列化 用ObjectOutputStream类保存基本数据类型或对象的机制 反序列化 用ObjectInputStream类读取基本数据类型或对象的机制 对象流的使用:ObjectOutputStream和ObjectInputStream /**

路宇的博客 2759

YOLOv11改进策略【Head】| AFPN渐进式自适应特征金字塔,增加针对小目标的检测头(附模块详解和完整配置步骤)

一、本文介绍 本文利用AFPN对YOLOv11的网络模型进行优化提升。AFPN采用渐近式融合及自适应空间融合操作。通过渐近式架构,逐步整合不同层级特征,有效避免非相邻层级间因语义差距过大导致的信息丢失或降级问题,确保在多尺度特征融合过程中既能保留高层语义信息,又能融入低层细节特征。本文将AFPN应用于YOLOv11中,并配置了针对小目标的检测头,能显著增强模型对不同尺度目标的检测能力,使其在复杂场景下更聚焦于目标物体特征,减少背景等无关信息的影响。 专栏目录:YOLOv11改进目录一览 | 涉及卷积层、

Limiiiing的博客 2718

(五)java.io.ObjectInput接口详解

简介:ObjectInput接口继承了DataInput、AutoCloseable接口包括对象的阅读功能,DataInput接口包括输入原始数据类型的方法,ObjectInput接口扩展接口包括数组、对象、字符串。 1.public Object readObject() throws ClassNotFoundException, IOException; 分析:读取并返回一个对象,实现此...

OceanSky的专栏 2695

Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建(保姆级超详细含图文) 附安装包网盘下载

Hadoop+Spark+Flink+Zookeeper+Kafka+Hbase+Hive完全分布式高可用集群搭建 Hadoop高可用集群搭建 Spark高可用集群搭建 Flink高可用集群搭建 Zookeeper高可用集群搭建 Kafka高可用集群搭建 Hbase高可用集群搭建 Hive高可用集群搭建 mysql搭建 jdk部署 大数据集群环境搭建

Mr.L-OAM的博客 2万+

【CT/电镜 重建教程 1.1】层析成像的精确实空间迭代重建算法(RESIRE)

在此,我们报告了RESIRE算法的发展用于准确的断层重建。与实空间迭代算法相比,RESIRE使用傅里叶切片定理或Radon变换作为正向投影,使用线性变换作为反向投影,两者都具有高精度。与EST和GENFIRE相比,RESIRE是一种实空间迭代算法,可以在并行计算中实现快速运行时间。

2401_87064292的博客 1062

(每日持续更新)jdk api之ObjectInput基础、应用、实战

无特定字段。返回在没有阻塞的情况下可以读取的字节数。关闭流。在关闭流之后,不能再调用读取操作。int read()读取单个字节的数据。将字节数组中的数据读入到一个字节数组中。从输入流中读取字节数组的一部分。从输入流中读取一个对象。跳过并丢弃输入流中的数据。

a89879193的专栏 975

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

您的 Java 代码安全吗?

  虽然客户仍然很关心您为他们构建的应用程序的可伸缩性和可用性,但他们可能变得也很关心安全性,而且要求特别严格。应用程序可能容易受到两类安全性威胁的攻击:静态和动态。虽然开发人员不能完全控制动态威胁,但在开发应用程序时,您可以采取一些预防措施来消除静态威胁。本文概括并解释了 13 种类型的静态暴露 ― 它们是系统中的缺陷,它使系统暴露在想要篡夺该系统的特权的攻击者面前。您将学会如何处理这些暴露,以

Herr Apfel的专栏 1464

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

您的Java代码安全吗?还是暴露在外?

虽然客户仍然很关心您为他们构建的应用程序的可伸缩性和可用性,但他们可能变得也很关心安全性,而且要求非凡严格。应用程序可能轻易受到两类安全性威胁的攻击:静态和动态。虽然开发人员不能完全控制动态威胁,但在开发应用程序时,您可以采取一些预防措施来消除静态威胁。本文概括并解释了 13 种类型的静态暴露 ? 它们是系统中的缺陷,它使系统暴露在想要篡夺该系统的特权的攻击者面前。您将学会如何处理这些暴露,以及如...

duoerbasilu 182

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

对象序列化

序列化 反序列化 使用Externalizable接口

我叫王哈哈 831

java bean validation 参数验证

一、前言 二、几种解决方案 三、使用bean validation 自带的注解验证 四、自定义bean validation 注解验证 一、前言   在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节。比如参数不能为null,email那么必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太慢,在时间、成本、质量的博弈中必然会落后。所以...

weixin_30551947的博客 624

关于 Java 对象序列化您不知道的 5 件事(转)

Java 序列化简介Java 对象序列化是 JDK 1.1 中引入的一组开创性特性之一,用于作为一种将 Java 对象的状态转换为字节数组,以便存储或传输的机制,以后,仍可以将字节数组转换回 Java 对象原有的状态。实际上,序列化的思想是 “冻结” 对象状态,传输对象状态(写到磁盘、通过网络传输等等),然后 “解冻” 状态,重新获得可用的 Java 对象。所有这些事情的发生有点像是魔术,这要归功于 ObjectInputStream/ObjectOutputStream 类、完全保真的元数据以及程序员愿意

362

JAVA中的对象流ObjectInputStream

需要注意的是,序列化机制并非适用于所有场景,例如敏感数据等,因此在设计类时,要充分考虑序列化的需求和潜在风险。ObjectInputStream是Java中用于序列化对象的一种输入流,它允许我们将对象的状态信息从输入流中读取出来,以便在后续程序中使用。可序列化类的 serialVersionUID 在可序列化类中,建议显式声明一个名为serialVersionUID的静态常量,用于标识该类的版本。反序列化则是将序列化后的数据恢复为对象的过程。定义一个可序列化的类 首先,我们需要定义一个可序列化的类。

qa3629723的博客 2044

java.io接口——ObjectInput和ObjectOutput

ObjectInput 对象输入,继承DataInput,AutoCloseable public Object readObject() throws ClassNotFoundException, IOException; public int read() throws IOException; public int read(byte b[...

一剑轻语 938

Java IO流各场景详解及使用

即in和out,也就是输入输出,指应用程序和外部设备之间的数据传递。是一个抽象概念,是指一连串的数据(字符或字节),是以先进先出的方式发送信息的通道。当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。

让优秀成为一种习惯! 1528

JDK源码中的 @author unascribed 注释闲谈

在看源码的时候,突然发现了个有意思的现象@author unascribed,那么这个注释是个什么意思呢 unascribed 译为未归类的 其实就是跟中文里的大神 “佚名” 一样 ...

afabama的博客 3586

Java 日看一类(35)之IO包中的ObjectInput接口

该接口继承自DataInput、AutoCloseable接口该接口的类头注释如下:/** * ObjectInput extends the DataInput interface to include the reading of * objects. DataInput includes methods for the input of primitive types, * Objec...

github_37666068的博客 367

Java序列化ObjectInputputStream - and -Out

什么是序列化和反序列化: 之前有学了Mapreduce,当时传输JavaBean时还有Hadoop自定义的类型,都是经过了序列化,当时我不懂序列化的意思。 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字节或是XML等格式。而字节的或XML编码格式可以还原完全相等的对...

天上掉下两毛钱 324

java序列化和反序列化

序列化概念:java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据,有关对象的类型的信息和存储在对象中数据的类型。 反序列化概念:把字节恢复为对象的过程叫反序列化。 类ObjectInputStream和ObjectOutputStream包含了序列化和反序列化对象的方法。 一个类要想序列化成功,必须满足两个条件: 该类必...

weixin_30614587的博客 198

java中讲讲ObjectInputStream的用法,举例?

2.5 ObjectInputStream的用法 ObjectInputStream顾名思义就是可以从流中读入一个用户自定义的对象。一定要注意ObjectOutputStream与ObjectInputStream必须配合使用,且按同样的顺序。 例:2.5.1 import java.io.Serializable; //类必须实现Serializable接口才可以被序列化, otherwis...

qq_44639795的博客 3005

io 流(对象流 objectInputSteam ,objectOutStream)

对象流 ObjectInputStram,ObjectOutStream用于读取和存储基本数据类型和对象的流。他能将Java中的对象写入到数据源中,并且能读出来。对象流不能序列化 static transient 修饰的成员变量。 被序列化得对象对应的类必须实现Javaio.Serializable接口; 例子: public static void main(String[] args)

yzcn2013的博客 1800
上一篇: Java自制简易http服务器(1)
下一篇: Java 日看一类(37)之IO包中的ObjectStreamField类
wyf95278
博客等级 码龄10年 38粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值