社区
Java SE
帖子详情
java 中序列问题
跑路的蛤蟆
2008-03-26 11:12:26
java中时常遇到序列化的问题,但是自己也没有用过,这里问问大家.
1:在开发中序列化主要用在哪里?
2:能不能举个简单的例子.
先在这里谢谢大家了 !!
...全文
77
6
打赏
收藏
java 中序列问题
java中时常遇到序列化的问题,但是自己也没有用过,这里问问大家. 1:在开发中序列化主要用在哪里? 2:能不能举个简单的例子. 先在这里谢谢大家了 !!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangtoby
2008-03-27
打赏
举报
回复
分给我算了...序列化的对象 首先要实现Serializable接口,这个接口是空接口,实现它说明了你的那个类具有了可序列化的能力.(也有书写的是 冰冻 解冻)就是
序列化和反序列化, 这个的作用就是把一个整体的对象存入内存中进行读取...
下面给个列子.希望有用
import java.io.Serializable;
public class User implements Serializable{
String name;
int age;
String password;
public int getAge() {
return age;
}
public String toString(){
return name+age+password;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User(String name, int age, String password) {
this.name = name;
this.age = age;
this.password = password;
}
}
//测试类
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class SerializableTest {
List<User> li = new LinkedList<User>();
public SerializableTest(){
li.add(new User("李四",21,"321"));
li.add(new User("王五",22,"456"));
}
//序列化(冰冻)
public void ObjectOutput(){
try {
OutputStream os = new FileOutputStream("date.dat");
ObjectOutputStream oos = new ObjectOutputStream(os);
oos.writeObject(li);
oos.close();
} catch (FileNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
//反序列化(解冻)
public void ObjectInput(){
try {
InputStream is = new FileInputStream("date.dat");
ObjectInputStream ois = new ObjectInputStream(is);
List li = (List)ois.readObject();
//List可以用这种遍历元素
// for(int i = 0; i<li.size();i++){
// User u = (User)li.get(i);
// System.out.println(u.getAge()+u.getName()+u.getPassword());
// }
for(Iterator it = li.iterator();it.hasNext();){
User u = (User)it.next();
System.out.println(u.getAge()+u.getName()+u.getPassword());
}
} catch (FileNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
public static void main(String[] args) {
SerializableTest st = new SerializableTest();
st.ObjectInput();
}
}
NGT_11
2008-03-27
打赏
举报
回复
楼上解释的不错 !
胡矣
2008-03-27
打赏
举报
回复
序列化是什么:
序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。
序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例
序列化的什么特点:
如果某个类能够被序列化,其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。
什么时候使用序列化:
一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。
二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。
hoszone
2008-03-27
打赏
举报
回复
http://www.blogjava.net/amigoxie/archive/2007/09/16/145465.html
比较详细!!
ooo19841080xinxin
2008-03-26
打赏
举报
回复
不懂,顶一个
mike110110
2008-03-26
打赏
举报
回复
序列化 不是实现 Compareable
然后 重写 compareTo()
好像在游戏存档啊什么的时候用
Java
聊天室毕业设计完整版+数据库
Java
聊天室毕业设计是一个典型的项目案例,用于展示
Java
编程在实时通信系统
中
的应用。这个项目不仅涵盖了编程语言的基础,还涉及到了网络编程、多线程、数据库交互等多个关键知识点。以下将详细介绍这些方面: 1. *...
protobuf-2.5.0 jar包及代码生成工具
3. **库文件(protobuf-
java
-2.5.0.jar)**:这个jar包包含了protobuf在
Java
环境下的运行时库,用于在
Java
应用
中
处理protobuf
序列
化和反
序列
化操作。 **protobuf的优势:** 1. **效率**:protobuf
序列
化后的数据...
阿里巴巴面试总结DOC版
本资源摘要信息主要总结了阿里巴巴面试
中
的
问题
和答案,涵盖了
Java
编程语言、设计模式、JVM 内存模型、ClassLoader 结构、UML 模型图、OSGi 框架、Spring 框架、iBatis 框架、
Java
序列
化、NIO 编程、HTTP 协议、...
fastjson的jar包 绿色版
同时,源码包也有助于进行
问题
排查,当遇到使用
中
的
问题
时,可以直接查阅源码找到解决方案。 Fastjson的核心功能包括: 1. **快速的解析与生成**:Fastjson采用了优化的算法,使得在处理大规模JSON数据时仍能保持...
xstream-1.4.8的jar包、源码、说明文档.zip
XStream 是一个强大的
Java
库,它允许程序员将
Java
对象
序列
化为 XML,反之亦然。这个压缩包“xstream-1.4.8的jar包、源码、说明文档.zip”包含了 XStream 的核心组件,使得用户可以深入了解其工作原理并进行定制...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章