楼主
J2SE都大多数都是本地程序,为什么要传输,传给谁去。。
您的概念太先进,适合去google应聘云计算相关职位。

解决方案 »

  1.   

    1. 你的担心是正确的,所有其子类都必须是Serializable;
       java.lang.Object没有实现Serializable,所以那些你自己定义的一般的类是不能够Serializable的,除非你实现了这个接口。
       同时,其包含的所有对象都必须是Serializable的;
    2. 不过也不用这么担心,因为一般情况下,JAVA的很多基本的类已经是Serializable的;
       像 AWT and Swing GUI components, java基本数据类型,strings, arrays 等一般都是Serializable的。
       因为基本数据类型,String还有数据等都是,所以一般你自己定义的只需要实现Serializable即可。
    3. 如果你的类中确实有不需要Serializable或者不能Serializable的,非常简单用transient符号
       如:transient private Thread thread1;
    4. 并非所有的类都要Serializable,有些是没有意义的
       如线程就是没有任何意义。
      

  2.   

    Java的大部分代码是执行在服务器上的,而数据又只和服务器交互,所以不算远程交互。另外 序列化implements Serializable 这个接口看其源码其实什么都没做,所以序列化实现这个接口只是一个标志,告诉这个类需要序列化,类似的理解可以参照JSON.
      

  3.   

    该类实现了序列化“implements Serializable”, 
    在该类中调用的其他类不用实现序列化接口!
    因为其他类的对象在该类里面可以看成是该类的变量!
    int a=100;
    Person p=new Person();
    该类序列化,确保了该类里的所有属性和方法都“被序列化”!
      

  4.   

    1楼....
       感觉我发错版块了,更好去J2EE问问。在EJB分布式应用中,传输对象不奇怪吧?
    6楼最靠谱!
      

  5.   

    楼主,序列化的目的是什么?
    序列化本身的目的并不仅仅是用于网络传输。
    序列化让我们能够保存一个Ojbect instance当前的状态。通过序列化以后的结果,我们能够重新构造一个跟该实例一摸一样的实例。
    想想这样的情况,当我的程序中一个对象要对一个文件写时,该文件被其他程序持有了写权限,但是我既不想让我的程序失败,同时也不想干等在那。于是我序列化我的对象,等到某个可能该文件已经被释放的时候再构造起这个对象,来执行写操作。
    这能够算是序列化的初衷么?
    但是,是不是我们的程序中都需要这样的功能呢,显然不是。
    楼主说EJB在传输中需要,但是你原文说的是所有的类都应该实现该接口。
    程序不是设计的最完整就是最好的。找到自己合适的点才是最重要的。