群硕的面试题

时间:2018-09-24 面试试题 我要投稿

  群硕面试题-序列化用途:

  1)需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态

  2)使用套接字在网络上传送对象的程序来说,是很有用的

  群硕面试题-序列化注意问题:

  1)并非所有类都可以序列化,在cmd下,我们输入serialver java.net.socket,可以得到socket是否可序列化的信息,实际上socket是不可序列化的

  2)类的所有数据成员应可序列化除了声明为transient或static的成员

  疑问:为什么不是所有的对象都是可序列化的

  3)安全方面的原因,比如一个对象拥有private,public等field,对于一个要传输的对象,比如写到文件,或者进行rmi传输等等,在序列化进行传输的过程中,这个对象的private等域是不受保护的.

  4)资源分配方面的原因,比如socket,thread类,如果可以序列化,进行传输或者保存,也无法对他们进行重新的资源分配,而且,也是没有必要这样实现

相关文章