Java ObjectInputStream enableResolveObject()方法与示例

ObjectInputStream类enableResolveObject()方法 (ObjectInputStream Class enableResolveObject() method)

  • enableResolveObject() method is available in java.io package.

    enableResolveObject()方法在java.io包中可用。

  • enableResolveObject() method is used to enable the ObjectInputStream to permit objects read from the stream to be replaced. When a boolean variable is set to true and SecurityManager installed and it first invoked the checkPermission() method with SerializablePermission(“enableSubstitution”) of SecurityManager to ensure that it is ready to activate this ObjectInputStream to permit objects read from the stream ObjectInputStream to be replaced.

    enableResolveObject()方法用于启用ObjectInputStream以允许替换从流中读取的对象。 将布尔变量设置为true并安装SecurityManager时,它首先使用SecurityManager的SerializablePermission(“ enableSubstitution”)调用checkPermission()方法,以确保已准备好激活此ObjectInputStream以允许从流ObjectInputStream读取的对象被替换。

  • enableResolveObject() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.

    enableResolveObject()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • enableResolveObject() method may throw an exception at the time of checking object status to replace.

    enableResolveObject()方法在检查要替换的对象状态时可能会引发异常。

    SecurityException: This exception may throw when its checkPermission() method does not allow to enable the stream to permit objects read from the stream to be replaced when SecurityManager exists.

    SecurityException :当SecurityManager存在时,如果其checkPermission()方法不允许启用流以允许从流读取的对象被替换,则可能引发此异常。

Syntax:

句法:

    public boolean  enableResolveObject(boolean status);

Parameter(s):

参数:

  • boolean status – if it sets to true that means to enable use of resolveObject() for each object being deserialized.

    布尔状态 –如果将其设置为true,则意味着对每个反序列化的对象启用resolveObject()的使用。

Return value:

返回值:

The return type of the method is boolean, it gets the old setting before this method was called.

该方法的返回类型为boolean ,它在调用此方法之前获得了旧设置。

Example:

例:

// Java program to demonstrate the example 
// of void defaultReadObject() method 
// of ObjectInputStream
import java.io.*;
public class DefaultReadObject {
public static void main(String[] args) throws Exception {
// Instantiates ObjectOutputStream , ObjectInputStream 
// FileInputStream and FileOutputStream
FileOutputStream file_out_stm = new FileOutputStream("D:\\includehelp.txt");
ObjectOutputStream obj_out_stm = new ObjectOutputStream(file_out_stm);
FileInputStream file_in_stm = new FileInputStream("D:\\includehelp.txt");
ObjectInputStream obj_in_stm = new ObjectInputStream(file_in_stm);
// By using writeObject() method is to
// write object to Serialized class
obj_out_stm.writeObject(new DefaultObjectClass());
obj_out_stm.flush();
// By using readObject() method is to
// read an object from the Serialized class
DefaultObjectClass def_obj = (DefaultObjectClass) obj_in_stm.readObject();
// Using both readObject and defaultReadObject(); 
System.out.println("obj_in_stm.defaultReadObject(): " + def_obj.str);
System.out.println("obj_in_stm.defaultReadObject(): " + def_obj.in);
}
static class DefaultObjectClass implements Serializable {
String str = "Java Programming";
Integer in = new Integer(10);
private void readObject(ObjectInputStream obj_stm) throws IOException, ClassNotFoundException {
// By using defaultReadObject() method is 
// to read non-static fields of the present 
// class from the ObjectInputStream
obj_stm.defaultReadObject();
}
}
}

Output

输出量

enableResolveObject invoked
resoveObject: Java

翻译自: https://www.includehelp.com/java/objectinputstream-enableresolveobject-method-with-example.aspx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pygame render怎么显示中文_PyGame开发游戏(2D)02.基础图元

这节将介绍PyGame的基础架构。并学习如何在PyGame里绘制各种几何图形和显示加载图片。01.应用框架上一节的示例程序里,我们用到一个PyGame的应用程序框架。这是一个基础框架,利用它我们可以很轻松的添加各类图型绘制,键盘鼠标输入处理和各类逻…

word+增加水印+java_为Word2019文档添加水印的两种方法

水印的类型包括文字水印和图片水印两种。在Word文档中添加文字水印时,可以使用程序中预设的水印效果,而图片水印则需要自定义添加。一、使用程序预设的文字水印Word 2019中预设了机密、紧急、免责声明三种类型的文字水印,用户可根据文件的类型…

如何设置CentOS 7获取动态及静态IP地址

自动获取动态IP地址1.输入“ip addr”并按回车键确定,发现无法获取IP(CentOS 7默认没有ifconfig命令),记录下网卡名称(本例中为ens33)。2.输入“cd /etc/sysconfig/network-scripts/”按回车键确定,继续输入“ls”按回…

请求列出指定服务器上的可用功能失败_滥用 ESI 详解(上)

在进行安全性评估时,我们注意到了标记语言 Edge Side Includes (ESI)中的一个意外行为,这种语言用于许多流行的 HTTP 代理(反向代理、负载平衡器、缓存服务器、代理服务器)。我们发现成功的 ESI 攻击可以导致服务器端请求伪造(SSRF)、各种绕过 HTTPOnly …

Java ClassLoader setPackageAssertionStatus()方法与示例

ClassLoader类setPackageAssertionStatus()方法 (ClassLoader Class setPackageAssertionStatus() method) setPackageAssertionStatus() method is available in java.lang package. setPackageAssertionStatus()方法在java.lang包中可用。 setPackageAssertionStatus() metho…

java上传kafka的方法_哪种方法是将所有数据从Kafka主题复制到接收器(文件或Hive表)的最佳方法?...

我正在使用Kafka Consumer API将所有数据从Kafka主题复制到Hive表 . 为此,我使用HDFS作为中间步骤 . 我使用唯一的组ID并将偏移重置为“最早”,以便从头开始获取所有数据,并在执行后忽略提交 . 然后我遍历Kafka主题中的记录,并将每…

openstack nova-network 的小bug的排错经历

环境是 nova-network vmwareflatdhcp错误表现为 开出来的虚拟机有一定几率获取不到dhcp地址,手工赋予ip则正常,用flat模式注入的ip正常,下面是排错过程1首先找网络防火墙已经把 dnsmasq对应的端口已经打开抓包结果:可以看到虚拟机…

anaconda base环境_anaconda中安装packages:pip还是conda install?

conda install我就不说了,这都不会别学了就。Using command:$ which -a pip, the terminal will return:This indicates two different pip path to install packages[1].在tf23环境中pip install在base环境中pip install在windows下powershell内,进入到…

Java ClassLoader setDefaultAssertionStatus()方法与示例

ClassLoader类setDefaultAssertionStatus()方法 (ClassLoader Class setDefaultAssertionStatus() method) setDefaultAssertionStatus() method is available in java.lang package. setDefaultAssertionStatus()方法在java.lang包中可用。 setDefaultAssertionStatus() metho…

【风马一族_xml】xmlp之dtd1

什么是XML约束?在xml技术里,可以编写一个文档来约束一个xml文档的写法,这称之为xml约束 2. 为什么要使用xml约束? 参看提示栏 3. xml约束的作用? 约束xml的写法对xml进行校验4. 常见的xml约束技术 xml dtdxml Schema…

java ssm框架 缓存_SSM框架之MyBatis3专题4:查询缓存

查询缓存的使用,主要是为了提高查询访问速度。将用户对同一数据的重复查询过程简化,不再每次均从数据库中查询获取结果数据,从而提高访问速度。MyBatis的查询缓存机制,根据缓存区的作用域(声明周期)可划分为两种:一级查…

matplotlib画图_漂亮,超详细的matplotlib画图基础

来自 | 逐梦erhttps://zhumenger.blog.csdn.net/article/details/106530281本文仅作技术交流,如有侵权,请联系后台删除。数据可视化非常重要,因为错误或不充分的数据表示方法可能会毁掉原本很出色的数据分析工作。matplotlib 库是专门用于开发…

c# 2维数组 取一维_C#| 不同类型的一维数组声明

c# 2维数组 取一维In the below example, we are declaring an integer array (one dimensional) with following styles: 在下面的示例中,我们声明具有以下样式的整数数组(一维) : 1) One dimensional Array declaration with initialization (without…

Java编程经典10道_Java经典编程题50道之十二

企业发放的奖金根据利润提成:利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成, 高于10万元的部分 ,可提成7.5%;20万到40万之间时&am…

RHEL7 单独安装图形 X11

RHEL7 默认是最小化安装(Minimal Install),没有图形界面, 我们应该选择Server with GUI。若已错过此步骤,我们采用以下方式补充安装GUI界面。 先配置yum源可以参考我的这篇文章http://blog.itpub.net/27771627/viewspa…

android recycleview长按多选_UI设计中Android和IOS设计差异总结

由于设计师、产品经理使用的移动设备大部分是iPhone,所以在做设计时,容易忽略Android和iOS的差异,按照iOS的规范进行设计,两端只做一套。只做一套的会存在两个问题:1、安卓用户的使用习惯不太适应iOS的设计&#xff0c…

Kotlin程序用于打印JVM版本的Kotlin(打印Java属性)

Here, we will create a Kotlin program to print Kotlin, JVM version (printing Java properties). As Kotlin can be seen as an upgrade of Java, so we will get all versions of java (JVM) using Kotlin also. 在这里,我们将创建一个Kotlin程序以打印JVM版本…

自定义动画属性java_创建酷炫动画效果的10个JavaScript库

原标题:创建酷炫动画效果的10个JavaScript库1) Dynamics.jsDynamics.js是设计基于物理规律的动画的重要Java库。它可以赋予生命给所有包含CSS 和SVG属性的DOM(文本对象模型)元素,换句话说,Dynamics.js适用于所有Java对象以及一系列其它的元素…

php xlsx里插入图片_常见的 PHP 面试题和答案分享

如何直接将输出显示给浏览器&#xff1f;将输出直接显示给浏览器&#xff0c;我们必须使用特殊标记 <&#xff1f;and&#xff1f;>。PHP 是否支持多重继承&#xff1f;PHP 只支持单继承。PHP 的类使用关键字 extends 继承另一个类获取图片属性&#xff08;size, width, …