Java序列化机制要序列化那些内容
在javaeye上搜到一篇robbin关于java序列化的回复,我觉得其中的例子很有说服力,转过来和大家分享。
关于更多java序列化的问题可以参见JAVA系列之对象的序列化与反序列化
Java的序列化机制只序列化对象的属性值,而不会去序列化什么所谓的方法。其实这个问题简单思考一下就可以搞清楚,方法是不带状态的,就是一些指令,指令是不需要序列化的,只要你的JVM classloader可以load到这个类,那么类方法指令自然就可以获得。序列化真正需要保存的只是对象属性的值,和对象的类型。
我们可以做一个简单的小试验,来证实一下:
Java代码
package com.javaeye;
import java.io.Serializable;
public class DomainObject implements Serializable {
private String name;
private int age ;
public int getAge(); {
return age;
}
public void setAge(int age); {
this.age = age;
}
public String getName(); {
return name;
}
public void setName(String name); {
this.name = name;
}
}view plaincopy to clipboardprint?
package com.javaeye;
import java.io.Serializable;
public class DomainObject implements Serializable {
private String name;
private int age ;
public int getAge(); {
return age;
}
public void setAge(int age); {
this.age = age;
}
&nb
相关文档:
Bean Serializable Interface 的接口让BEAN可以串行化,将其变成一个可保存为以后使用的二进制流。当一个BEAN被系列化到磁盘上或者其他任何地方,其状态被保存起来,其中的属性值也不会改变。在BEAN的规范中,JSP并没有要求BEAN实现Serializable接口。但是,如果您希望自己控制您所创建的组件的serialization进程,或者您想 ......
1 网络通信的本质是进程间通信。
2 Tcp协议和UDP协议
TCP:开销大,用于可靠性要求高的场合。
TCP的过程相当于打电话的过程
UDP:用在对实时性要求比较高的场合。
UDP的过程相当于写信的过程。
注意:socket是套接字,ip和port(端口号 0~65535个端口,一个端口只能有一个进程)
3,   ......
public(公共访问控制):可以被所有类访问。
protected(保护访问控制):可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他类访问。
default(友好访问控制):可以被这个类本身和同一个包中的其他类所访问。
private(私有访问控制):只能被该类自身访问和修改。 ......
很多人在初学Java的时候经常会被书中介绍的一堆环境变量的设置搞得头昏脑胀,很多书中都会在初装JDK的时候让他大家设置JAVA_HOME环境变
量,在开发程序的时候设置CLASSPATH环境变量,而很多人并不理解这两个环境变量的作用,我们来分别进行详细的阐述。
首先是JAVA_HOME环境变量,我们先来 ......