谢谢

解决方案 »

  1.   

    你要传输或保存对象时,需要将对象转换成bit流,
    读取对象时,需要重新转换回来。这样,就必需实现序列化接口。
      

  2.   

    序列化是可以通过Java公共操作对可持久化存储对象进行访问。
      

  3.   


    什么是序列化?在什么情况下将类序列化?
     
     序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。 序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。是对象永久化的一种机制。
    确切的说应该是对象的序列化,一般程序在运行时,产生对象,这些对象随着程序的停止运行而消失,但如果我们想把某些对象(因为是对象,所以有各自不同的特性)保存下来,在程序终止运行后,这些对象仍然存在,可以在程序再次运行时读取这些对象的值,或者在其他程序中利用这些保存下来的对象。这种情况下就要用到对象的序列化。 对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口 。
      

  4.   


    对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整性和可传递性。譬如通过网络传输,或者把一个对象保存成一个文件的时候,要实现序列化接口 。 
      

  5.   

    拿我以前写的聊天软件来说,
    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了。
      
      

  6.   

    如果服务端用Java客户端用Delphi是不是就不能序列化了
      

  7.   

    没有调查就没有发言权,所以不知道。
       不过推断下应该不可以,因为还原要用java的方法 。
      

  8.   

    有些地方需要的。比如你在windows下面生成的java类,序列后传给linux
    在linux组装起来就能用了
      

  9.   

    我记得在用对象流操作的时候
    ObjectInputStream, ObjectOutputStream需要对对象序列化,否则会有异常。