凡是需要被序列化的对象,均需要 直接或间接地 实现java.io.Serializable接口;
并且,该对象所持有的其他对象也需要 直接或间接地 实现java.io.Serializable接口;
否则将引起异常或不能正确地反序列化。
ArrayList也实现了序列化
public static void main(String[] args) {
// TODO Auto-generated method stub
File f=new File("d:\\user.tmp");
if(f.exists()){
f.delete();
}
ArrayList al=new ArrayList();
al.add(new classFirstload())//没有实现Serialable的类会报异常!
FileOutputStream os;
try {
os = new FileOutputStream(f);
ObjectOutputStream oos=new ObjectOutputStream(os);
oos.writeObject(al);
oos.close();
FileInputStream fi=new FileInputStream(f);
ObjectInputStream ois=new ObjectInputStream(fi);
ArrayList arraydemo=(ArrayList)ois.readObject();
System.out.println(arraydemo.get(0));
os.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//ObjectOutputStream 核心类
}
分享到:
相关推荐
ArrayList对序列化的实现有什么好处 Java对象的序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比
同时,三个类都实现了 Cloneable 接口,支持调用 Object.clone 方法返回该对象的浅拷贝,和 java.io.Serializable 接口,支持序列化和反序列化。 在底层数据结构方面,ArrayList 和 Vector 都使用数组结构来存储...
主要为大家详细介绍了Java的序列化与反序列化,序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容,感兴趣的小伙伴们可以参考一下
学习过程中的体会,包括: C#中关键字的小提示 如何产生随机数 ...序列化对象到文件 创建一个文本文件并写入文本 文件夹拷贝 使用C#解析简单XML 读 XML文件 用 XmlWriter写 XML文件 插入数据到 XML文档
开篇词讲怎样才能做好性能调优02讲如何制定性能调优策略04讲慎重使用正则表达式05讲ArrayList还是LinkedList使用不当性能差千倍07讲深入浅出HashMap的设计与优化08讲网络通信优化之IO模型:如何解决高并发下IO瓶颈09...
Dubbox 和 Dubbo 本质上没有区别,都是基于 Java 的远程调用框架,但是 Dubbox 提供了更多的功能,例如支持 REST 风格远程调用(HTTP + JSON/XML),支持基于 Kryo 和 FST 的 Java 高效序列化实现,支持基于 Jackson...
"java软件开发求职试题集合.pdf" 这份文件集合了Java软件开发领域中的多个问题,涵盖了Java基础知识、...将对象存储到HttpSession中时,需要使用可序列化,以便能够正确地存储和恢复对象。 ...(其他问题的解释略)
答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的. [Page] 26.根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写: namespace test { public ...
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。 Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless ...
序列化和反序列化对象(将不长用的对象暂时持久化到文件中为对象的序列化,反之用时再把对象恢复到内存为反序列化); 控制对象的序列化和反序列化; 读jar包的资源文件;用zip格式压缩 和解压文件;操作Excel文件;...
泛型的序列化问题 .NET 2.0 泛型在实际开发中的一次小应用 C#2.0 Singleton 的实现 .Net Framwork 强类型设计实践 通过反射调用類的方法,屬性,字段,索引器(2種方法) ASP.NET: State Server Gems 完整的动态加载/卸载...
如何实现Java序列化与反序列化 28 【基础】String s = new String("xyz");创建了几个字符串对象 30 【基础】接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete...
65. 什么是java序列化,如何实现java序列化? 48 65.1. java序列化、反序列化 48 65.2. 对象的序列化主要有两种用途: 48 65.3. 对象序列化包括如下步骤: 49 65.4. 对象反序列化的步骤如下: 49 66. 反射机制 49 ...
remove方法对LinkedList类的使用3.3.5 关于ListIterator接口3.4 ArrayList类的实现3.4.1 基本类3.4.2 迭代器、Java嵌套类和内部类3.5 LinkedList类的实现3.6 栈ADT3.6.1 栈模型3.6.2 栈的实现3.6.3 应用3.7 队列...
76、什么是java序列化,如何实现java序列化? 18 77、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 18 78、abstract class Name { private String name; public abstract boolean isStupidName...
76、什么是java序列化,如何实现java序列化? 18 77、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 18 78、abstract class Name { private String name; public abstract boolean isStupidName...
3.6.3 应用 3.7 队列adt 3.7.1 队列模型 3.7.2 队列的数组实现 3.7.3 队列的应用 小结 练习第4章 树 4.1 预备知识 4.1.1 树的实现 4.1.2 树的遍历及应用 4.2 二叉树 4.2.1 实现 4.2.2 例子...
3.6.3 应用 3.7 队列adt 3.7.1 队列模型 3.7.2 队列的数组实现 3.7.3 队列的应用 小结 练习第4章 树 4.1 预备知识 4.1.1 树的实现 4.1.2 树的遍历及应用 4.2 二叉树 4.2.1 实现 4.2.2 例子...
13.9.1 序列化和反序列化操作345 13.9.2 序列化的版本347 13.1 0随机存取文件流348 13.1 1ZIP文件流350 13.1 2本章练习352 第14章 14.1 抽象窗口工具集(AWT)354 14.1.1 AWT组件和容器354 14.1.2 布局管理器359 14.2 ...