Java 日看一类(38)之IO包中的ObjectStreamConstant类

【java】ObjectStreamClass:监视Java对象的序列化 与 ObjectStreamField 1.概述 本文参考了文章:ObjectStreamClass:监视Java对象的序列化 ObjectStreamClass可以是有用的类,用于分析JVM中加载的序列化类的序列化特征。 这篇文章介绍了此类提供的有关已加载序列化类的一些信息。 ObjectStreamClass提供了两个用于查找类的静态方法: lookup(class)和lookupAny(Class) 。 第一个lookup(Class)仅在提供的类可序列化时返回ObjectStreamClass的实例,如果提供的类不可序列化则返回nul. 阅读详情

ObjectStreamConstants为接口类

无继承和引入关系


该类的类头注释如下:

/**
 * Constants written into the Object Serialization Stream.
 *
 * @author  unascribed
 * @since JDK 1.1
 */

大意如下:

写入对象序列化流中的常量数值



该类含有如下的成员变量:

流头的标识符

final static short STREAM_MAGIC = (short)0xaced;

输出流的版本符

final static short STREAM_VERSION = 5;

第一个标志的值

final static byte TC_BASE = 0x70;

无对象引用

final static byte TC_NULL =         (byte)0x70;

被引用的对象已经被写入到流中

final static byte TC_REFERENCE =    (byte)0x71;

新类的描述符

final static byte TC_CLASSDESC =    (byte)0x72;

新对象

final static byte TC_OBJECT =       (byte)0x73;

新字符串

final static byte TC_STRING =       (byte)0x74;

新数组

final static byte TC_ARRAY =        (byte)0x75;

类引用

final static byte TC_CLASS =        (byte)0x76;

可选数据块。字节跟随标记表示此数据块中的字节数。

final static byte TC_BLOCKDATA =    (byte)0x77;
对象末尾的可选数据块
final static byte TC_ENDBLOCKDATA = (byte)0x78;

大块数据标识符

final static byte TC_BLOCKDATALONG= (byte)0x7A;

重置流上下文和句柄

final static byte TC_RESET =        (byte)0x79;

写出时的异常

final static byte TC_EXCEPTION =    (byte)0x7B;

长字符串

final static byte TC_LONGSTRING =   (byte)0x7C;

新代理类描述符

final static byte TC_PROXYCLASSDESC =       (byte)0x7D;

新的枚举类型

final static byte TC_ENUM =         (byte)0x7E;

上个标示的值

final static byte TC_MAX =          (byte)0x7E;

第一个被标记的句柄

final static int baseWireHandle = 0x7e0000;

ObjectStreamClass标志位,表示该序列化类覆写了writeObject

final static byte SC_WRITE_METHOD = 0x01;

ObjectStreamClass标志位,表示该序列化数据写入到块数据模组中

final static byte SC_BLOCK_DATA = 0x08;

ObjectStreamClass标志位,表示该类可序列化

final static byte SC_SERIALIZABLE = 0x02;

ObjectStreamClass标志位,表示该类可指定序列化

final static byte SC_EXTERNALIZABLE = 0x04;

ObjectStreamClass标志位,表示该类为枚举类型

final static byte SC_ENUM = 0x10;

使一个对象在序列化/反序列化进程中被另一个对象替换

final static SerializablePermission SUBSTITUTION_PERMISSION =
                       new SerializablePermission("enableSubstitution");

流协议版本1

public final static int PROTOCOL_VERSION_1 = 1;

流协议版本2

public final static int PROTOCOL_VERSION_2 = 2;



该类主要用于标识ObjectStreamClass行动,并且为所有使用到的对象流的类制定了参数的类型和数值,方便对比和订正

告别手动干预:深入浅出LPDDR5的Background ZQ校准与DVFSQ切换避坑指南 本文深入解析LPDDR5的Background ZQ校准与DVFSQ切换技术,帮助工程师实现DRAM阻抗校准的自动化管理。通过详细配置指南和实战案例,揭示如何避免动态电压调节下的模式切换陷阱,提升信号完整性和系统能效。特别适合嵌入式系统和移动终端开发者参考。 阅读详情

相关推荐

学习 Bootstrap 5 之 Tables

学习 Bootstrap 5 之 表格表格 (Tables)1. 创建表格(1). 使用原生的表格标签(2). 使用Bootstrap 5 的提供的表格标签类(3). 原生与Bootstrap创建出来的表格的对比2. 表格样式(1). 表格样式的效果(2). 表格样式的使用1). 用于 <table> 标签2). 用于 <thead> <tbody> <tfoot> 标签 表格 (Tables) 1. 创建表格 (1). 使用原生的表格标签 <tabl

qq_37354060的博客 2130

java constant 类_如何在Java中定义常量(Constant) | 学步园

首先看示例:/***MethodOne*/interfaceConstantInterface{StringSUNDAY="SUNDAY";StringMONDAY="MONDAY";StringTUESDAY="TUESDAY";StringWEDNESDAY="WEDNESDAY";StringTHURSDAY="THURSDAY";StringFRIDA...

weixin_39563823的博客 1112

零基础搭建本地AI绘画环境:Stable Diffusion 3.5保姆级安装教程(含中文优化方案)

本文提供零基础搭建本地AI绘画环境的详细教程,重点介绍Stable Diffusion 3.5的安装与中文优化方案。从硬件配置检查到软件依赖安装,再到核心组件配置与中文语义增强,教程涵盖全流程操作指南,帮助用户快速掌握AI文生图模型的本地部署技巧,提升创作效率。

weixin_30752699的博客 314

Java ObjectStreamClass forClass()方法与示例

ObjectStreamClass类的forClass()方法 (ObjectStreamClass Class forClass() method) forClass() method is available in java.io package. forClass()方法在java.io包中可用。 forClass() method is used to return the Class ...

cumtb2009的博客 958

微观交通流仿真软件:SUMO (Simulation of Urban MObility)_(8).仿真场景创建与编辑

总结文件()包含了仿真过程中的总体统计信息,如车辆生成数、平均速度等。加载总结文件使用Python的提取关键信息通过以上步骤,可以使用SUMO及其相关工具和库创建和编辑交通仿真场景。无论是手动创建、使用工具转换现有数据,还是通过Python脚本自动生成,SUMO都提供了丰富的功能来满足不同需求。此外,Traci库允许在仿真过程中动态调整交通场景,从而实现更精细的控制和优化。最后,通过对输出文件的分析,可以评估仿真结果并进行进一步的改进。

kkchenjj的博客 1271

PLC的自抗扰控制(ADRC)算法

1、自抗扰控制算法,网上很多文章有所讲解,大家也可以关注韩京清教授的论文和书籍,这里就不赘述了,下面给出梯形图+SCL代码。 1、跟踪微分器 2、线性控制率 3、博图SCL控制代码 4、ADRC控制算法的所有公式汇总 ......

RXXW_Dor的博客 3854

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

序列化版本号。:空的字段数组。> cl):查找指定类的。> cl):查找指定类的,包括非序列化类。> cl):返回指定类的。:返回类的名称。:返回序列化版本号。:返回字段信息。:返回指定名称的字段。:返回序列化版本号的字段。:返回类的字符串表示形式。​​// 获取指定类的 ObjectStreamClass// 自定义序列化版本号并设置try {这些例子展示了如何使用获取类的序列化信息,并进行一些相关的操作,如检查序列化版本号、自定义序列化版本号等。

a89879193的专栏 757

PLC如何控制电子膨胀阀(暖通空调/制冷系统)

电子膨胀在冷水机空调系统里广泛采用,大部分空调系统都会有电子膨胀阀,但是电子膨胀阀的控制接口和普通电磁阀完全不同,所以想要PLC直接控制电子膨胀阀,还是比较麻烦的,电子膨胀阀可以理解为一个简易步进电机,体积非常小,线圈和转子部分可以分离。下面我们看下PLC如何控制电子膨胀阀。

RXXW_Dor的博客 4762

Constant类

package com.wh.game; /** * 常量类 * * @author 16572 方便后面操作 */ public class Constant { public static int FRAME_WIDTh = 800; public static int FRAME_HEIGHT = 860; }

qq_36109477的博客 1683

OpenClaw小白使用全攻略

OpenClaw全能技能解锁指南:从基础到进阶 摘要: 本文提供OpenClaw AI智能体的完整使用教程,帮助用户从安装后"不知道如何用"到熟练掌握核心功能。教程包含:1)控制台5大区域详解和3个必做初始化设置;2)文件管理、浏览器自动化、文档生成等5大基础功能实操,每个功能配有详细操作步骤、指令模板和效果演示;3)10+高频场景解决方案,如整理文件、搜集资料、写总结等;4)进阶技巧和常见问题解答。通过清晰的图文指引,即使电脑小白也能快速上手,实现办公自动化、提升工作效率。

通俗易懂学IT 3061

复现论文《Analysis of circulating current mechanism of Grid-forming offshore wind farm based on DRU-HVDC》

该论文研究了基于二极管整流单元(DRU)和低频交流(LFAC)输电的构网型(GFM)海上风电场并网系统中环流的产生机理。由于 DRU 不可控,系统电压与频率依赖于风力发电机(WT)的网侧变流器,当多台 WT 并联运行时,因输出电压幅值、相位、输出阻抗或频率不匹配,会产生基频环流,导致系统损耗增加与稳定性下降。论文通过理论建模与 MATLAB/Simulink 仿真,分析了四种不平衡工况下的环流机理,并指出幅值不平衡和阻抗不平衡引起无功环流,相位不平衡引起有功环流,频率不平衡则引起环流振荡,为后续环流抑制研究

huanghm88的专栏 106

ObjectStreamClass:监视Java对象的序列化

ObjectStreamClass可以是有用的类,用于分析JVM中加载的序列化类的序列化特征。 这篇文章介绍了此类提供的有关已加载序列化类的一些信息。 ObjectStreamClass提供了两个用于查找类的静态方法: lookup(class)和lookupAny(Class) 。 第一个lookup(Class)仅在提供的类可序列化时返回ObjectStreamClass的实例,如果...

最佳 Java 编程 911

老电脑续命神器:Windows 11 26H1 精简游戏版,帧率稳定无压力!(Win11 26H1 极致精简游戏版(3.17G):装完只占 8G 内存,Ultra CPU 性能拉满)

旧电脑福音也能安装windows11畅玩游戏🎮:文章分享一款 Windows 11 26H1 精简游戏版,仅 3.17G、C 盘占用 8G,开机进程约 50 个,内存占用 1.4G,内置游戏优化与运行库,支持离线安装、跳过 TPM 检测,让老电脑也能畅玩 3A 游戏和办公娱乐 🚀。

XiaoqiangClub的博客 1071

Java编程教程-Java ObjectStreamClass

ObjectStreamClass作为类的序列化描述符。该类包含类的名称和serialVersionUID。

2301_78586758的博客 312

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【详解java序列化&反序列化】

一、什么是序列化和反序列化 把对象转换为字节序列的过程称为对象的序列化;把字节序列恢复为对象的过程称为对象的反序列化。 序列化类必须实现Serializable或Externalizable接口 对象的序列化主要有两种用途:          1、把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;         2、在网络上传送对象的字节序列。 二、什么是serialVersionUID

lyc87007643的博客 912

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

十一,常量(constant)详细讲解

C语言对常量的超详细分析。

陈浩楠博客 9135

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android Http status code

public interface HttpStatus { int SC_ACCEPTED = 202; int SC_BAD_GATEWAY = 502; int SC_BAD_REQUEST = 400; int SC_CONFLICT = 409; int SC_CONTINUE = 100; int SC_CREATED = 201;

birthmarkqiqi的专栏 1291

在方法中定义一个静态常量java_如何在Java中定义常量(Constant)

/*** Method One*/interface ConstantInterface {String SUNDAY = "SUNDAY";String MONDAY = "MONDAY";String TUESDAY = "TUESDAY";String WEDNESDAY = "WEDNESDAY";String THURSDAY = "THURSDAY";String FRIDAY = "...

weixin_39765625的博客 886

Java中的Constants类

Constants类即常量类是将一些常用的变量集合到一个地方的类,常量应该定义在类中,而不是接口中(见Effective Java 2nd Edition, Item19),如果定义的常量是int类型的,可使用Enum类来代替(见Effective Java 2nd Edition, Item30),然而,有些常量类,比如String类型的常量类,可能不太适合使用Enum类来代替。 不像Enum

矢志不渝,追求完美 2万+

java中常量的设置(Constant)

java静态变量实现方式: 1,接口方式。 2,定义final stati变量方式。 3,enum方式。 4,定义properities方式。

火舞狂沙 1万+

java 序列化协议_java序列化(理解)

仅此记录,如果雷同,纯属巧合java序列化顺序:(1)类元数据(类的相关描述)1、STREAM_MAGIC.声明使用了序列化协议.2、STREAM_VERSION.序列化协议版本3、TC_OBJECT.声明这是一个新的对象.4、Class名字的长度.5、Class类名6、序列化ID7、标记号.该值声明该对象支持序列化8、该类所包含的域个数(2)递归地输出父类描述(3)从顶层开始输出对象实例的实际数...

weixin_39849254的博客 412

(六)java.io.ObjectStreamConstants接口详解

简介:写入对象序列化流中的常量; 1.final static short STREAM_MAGIC = (short)0xaced; 分析:写入流头的魔法数字; 2.final static short STREAM_VERSION = 5; 分析:写入流标头的版本号; 3.final static byte TC_BASE = 0x70; 分析:第一个标签值; 4.final s...

OceanSky的专栏 1123

Java中定义常量(Constant) 的几种方法

为了方便大家交流Spark大数据,浪尖建了微信群,目前人数过多,只能通过浪尖或者在群里的朋友拉入群。纯技术交流,偶有吹水,但是打广告,不提醒,直接踢出。有兴趣加浪尖微信。...

大数据星球-浪尖 5万+

ObjectStreamClass

ObjectStreamClass

fallingcarter的博客 350

Java ObjectStreamClass lookup()方法与示例

ObjectStreamClass类lookup()方法 (ObjectStreamClass Class lookup() method) lookup() method is available in java.io package. lookup()方法在java.io包中可用。 lookup() method is used to lookup the descriptor for a ...

cumt951045的博客 580

java序列化(理解)

仅此记录,如果雷同,纯属巧合   java序列化顺序:   (1)类元数据(类的相关描述)          1、STREAM_MAGIC. 声明使用了序列化协议.          2、STREAM_VERSION. 序列化协议版本          3、TC_OBJECT. 声明这是一个新的对象.          4、Class名字的长度.          5、Cla...

iteye_2113的博客 171
上一篇: Java 日看一类(37)之IO包中的ObjectStreamField类
下一篇: Java 日看一类(39)之IO包中的ObjectStreamException和OptionalDataException异常类
wyf95278
博客等级 码龄10年 38粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值