让我们说我们上课了
Class A implements serializable{
String s;
int i;
Date d;
public A(){
}
public A(String s, int i, Date d){
this.s =s;
blah blah
}
}
Run Code Online (Sandbox Code Playgroud)
现在让我们说一种方法,我将s,i,d的所有内部值存储到一个文件并再次读取它们,并将它们传递给构造函数并创建一个新对象.其次,我序列化然后反序列化为一个新对象.这两种方法之间的基本区别是什么.
我知道序列化将是缓慢和安全的,而另一种方法则不然.任何其他差异.
阅读本文,解释了什么是序列化(它适用于Java RMI,但序列化解释和问题是相同的):http://oreilly.com/catalog/javarmi/chapter/ch10.html
我看到的主要区别是:
从上面的链接中提取:
序列化是内核Java库中的一种机制,用于将对象图写入数据流.然后可以以编程方式操纵该数据流,并且可以通过反转该过程来创建对象的深层副本.这种逆转通常称为反序列化.
特别是,序列化有三个主要用途:
FileOutputStream,那么数据将自动写入文件.ByteArrayOutputStream,那么数据将被写入内存中的字节数组.然后,可以使用此字节数组创建原始对象的副本.需要注意的重要一点是序列化的使用与序列化算法本身无关.如果我们有一个可序列化的类,我们可以通过改变我们使用序列化机制输出的方式将它保存到文件或复制它.
| 归档时间: |
|
| 查看次数: |
5095 次 |
| 最近记录: |