java对象序列化与对象反序列化
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。以下是小编为大家搜索整理的java反序列化对象的技巧,欢迎阅读!更多精彩内容请及时关注我们考试网!
下面的DeserializeDemo程序实例了反序列化,/tmp/存储了Employee对象。
import .*;
public class DeserializeDemo
{
public static void main(String [] args)
{
Employee e = null;
try
{
FileInputStream fileIn = new FileInputStream("/tmp/");
ObjectInputStream in = new ObjectInputStream(fileIn);
e = (Employee) Object();
e();
e();
}catch(IOException i)
{
tStackTrace();
return;
}catch(ClassNotFoundException c)
{
tln("Employee class not found");
tStackTrace();
return;
}
tln("Deserialized Employee...");
tln("Name: " + );
tln("Address: " + ess);
tln("SSN: " + );
tln("Number: " + er);
}
}
以上程序编译运行结果如下所示:
Deserialized Employee...
Name: Reyan Ali
Address:Phokka Kuan, Ambehta Peer
SSN: 0
Number:101
这里要注意以下要点:
readObject() 方法中的try/catch代码块尝试捕获 ClassNotFoundException异常。对于JVM可以反序列化对象,它必须是能够找到字节码的类。如果JVM在反序列化对象的过程中找不到该类,则抛出一个 ClassNotFoundException异常。
注意,readObject()方法的'返回值被转化成Employee引用。
当对象被序列化时,属性SSN的值为111222333,但是因为该属性是短暂的,该值没有被发送到输出流。所以反序列化后Employee对象的SSN属性为0。
-
查看java对象所占的内存大小的方法
做一些cache的时候,我们不可能把数据库的所有的数据都缓存到内存里面,我们要估计缓存的大小。那么如何查看java对象所占的内存大小呢?本文为大家介绍一下方法,希望可以为您提供帮助!更多内容请关注应届毕业生考试网!(1)做一些cache的时候,我们不可能把数据库的所有的...
-
Java常用数据结构及类
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。本文特意为大家收集整理了Java常用数据结构及类,希望大家喜欢!一、Vector类Vector类似于一个数组,但与数组相比在使用上有以下两个优点。1、使用的时候无需声明上限,随着元素的增加,Vec...
-
Java开发岗位面试题
为帮助参加Java开发岗位面试的朋友们做好准备,以下是本站小编搜索整理的一份Java集合面试问题40个【附答案】,供参考练习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!一、Java基础1、String类为什么是final的。2、HashMap的源码,实现原...
-
java语言的接口与继承
Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法,而不是严格地用过程来思考。下面是小编分享的java语言的接口与继承,一起来看一下吧。大多数人认为,接口的意义在于顶替多重继承。众所周知Java没有c++那样多重继承的机制,但是却...