java序列化有什么用? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你要传输或保存对象时,需要将对象转换成bit流,读取对象时,需要重新转换回来。这样,就必需实现序列化接口。 序列化是可以通过Java公共操作对可持久化存储对象进行访问。 什么是序列化?在什么情况下将类序列化? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。 序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。是对象永久化的一种机制。确切的说应该是对象的序列化,一般程序在运行时,产生对象,这些对象随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些保存下来的对象。这种情况下就要用到对象的序列化。 对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口 。 对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口 。 拿我以前写的聊天软件来说,User{ String name; String icon; String message;}当我想把这个User信息从一个客户端发到另一个的时候: 我可能会这个写(不用序列化实现): String msg=user.getName()+"_"+user.getIcon()+"_"user.getMessage(); 把这个msg发到另一端, 然后另一端解析这个字符串 String[] msgs=msg.split("_"); User user=new User(); user.setName(msgs[0]); user.setIcon(msgs[1]); user.setMessage(msgs[2]);这样我们就完成了信息的传送,但是这样还是很麻烦的,如果字段多的话,而且你的分隔符'_'是不能在name,icon,message中出现,要不然另一端解析就会出错。 如果用序列化实现,直接把user的字节码发过去,再另一端还原就OK了。 如果服务端用Java客户端用Delphi是不是就不能序列化了 没有调查就没有发言权,所以不知道。 不过推断下应该不可以,因为还原要用java的方法 。 有些地方需要的。比如你在windows下面生成的java类,序列后传给linux在linux组装起来就能用了 我记得在用对象流操作的时候ObjectInputStream, ObjectOutputStream需要对对象序列化,否则会有异常。 如何使用HttpClient4.*获得网页的源代码? 想用JAVA做一款带白板的聊天软件 求大大解 java数据库问题 javabean的打包问题 100分求一段代码????万分感谢!!! 如果读写二进制文FileOutputStream与DataOutputStream为什么要组合使用? 有关jni的一个问题 请问有没有实现过类似扫雷中的digital 计数器的 eclipse+ant错误 如何写SQL语句查允许空的记录 JAVA修改文件内容 JFreeChart中如何设定自动调整的坐标轴范围?
读取对象时,需要重新转换回来。这样,就必需实现序列化接口。
什么是序列化?在什么情况下将类序列化?
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。 序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。是对象永久化的一种机制。
确切的说应该是对象的序列化,一般程序在运行时,产生对象,这些对象随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些保存下来的对象。这种情况下就要用到对象的序列化。 对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口 。
对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口 。
User{
String name;
String icon;
String message;
}
当我想把这个User信息从一个客户端发到另一个的时候: 我可能会这个写(不用序列化实现):
String msg=user.getName()+"_"+user.getIcon()+"_"user.getMessage();
把这个msg发到另一端,
然后另一端解析这个字符串
String[] msgs=msg.split("_");
User user=new User();
user.setName(msgs[0]);
user.setIcon(msgs[1]);
user.setMessage(msgs[2]);
这样我们就完成了信息的传送,但是这样还是很麻烦的,如果字段多的话,而且你的分隔符'_'是不能在name,icon,message中出现,要不然另一端解析就会出错。
如果用序列化实现,直接把user的字节码发过去,再另一端还原就OK了。
不过推断下应该不可以,因为还原要用java的方法 。
在linux组装起来就能用了
ObjectInputStream, ObjectOutputStream需要对对象序列化,否则会有异常。