大家都知道可以将实现Serializable接口的类的实例进行写入硬盘,但是我想问下大家,写入硬盘的内容还包括方法,这样大量数据写入硬盘时不是浪费的存储空间?有什么办法可以解决这个问题那?谢谢!!!

解决方案 »

  1.   

    同意interpb。
    序列化出来的东西只含属性值的。
    如果有不想序列化的属性值,可以在定义的时候加transient关键字。
      

  2.   

    对象的默认序列化机制写入的内容是:对象的类,类签名,以及非瞬态和非静态字段的值。其他对象的引用(瞬态和静态字段除外)也会导致写入那些对象。
        用transient或static修饰的属性和方法不会序列化,也不会写入流中,你可以用它控制是否需要写入!
      

  3.   

    方法怎么会写入ObjectStream呢?
    只有数据被写入~
      

  4.   

    回复人:wmzsl(王明哲) ( 五级(中级)) 信誉:100  2006-09-15 12:54:00  得分:0

    无所谓,你保存吧不会浪费什么资源的
      

  5.   

    就技术而言,只要类的数据布局没有改变,读取一个对象就应该是安全的。但Java相对保守,还要检验它的方法是否被改变。(毕竟,方法是用来表示被保存数据的意义)。
      

  6.   

    另外这本生就叫做对象序列化,对象和类的区别大家都知道
    方法是公有的,只有具体的数据成员才是私有的确  所以呢 对象序列化只需要序列化对象私有的部分和所属的类
    共有的那部分 还在类文件(.class)中呢  所以如果只有序列化过的对象而没有类文件也是没意义