Java对象的序列化和反序列化
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个java对象转换为字节序列,即java对象序列号,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象,即反序列化。
把Java对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为Java对象的过程称为对象的反序列化。
对象的序列化主要有两种用途:
1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2) 在网络上传送对象的字节序列。
一. JDK类库中的序列化API
java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object obj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。
java.io.ObjectInputStream代表对象输入流,它的readObject()方法从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回。、
只有实现了Serializable和Externalizable接口的类的对象才能被序列化。Externalizable接口继承自Serializable接口,实现Externalizable接口的类完全由自身来控制序列化的行为,而仅实现Serializable接口的类可以采用默认的序列化方式 。
对象序列化包括如下步骤:
1) 创建一个对象输出流,它可以包装一个其他类型的目标输出流,如文件输出流;
2) 通过对象输出流的writeObject()方法写对象。
对象反序列化的步骤如下:
1) 创建一个对象输入流,它可以包装一个其他类型的源输入流,如文件输入流;
2) 通过对象输入流的readObject()方法读取对象。
下面让我们来看一个对应的例子,类的内容如下:
import java.io.*;
import java.util.Date;
/**
* 对象的序列化和反序列化测试类.
* @author AmigoXiemailto:xiexingxing1121@126.com">AmigoXie>
* @version 1.0
* Creation date: 2007-9-15 - 下午21:45:48
*/
public class ObjectSaver {
/**
* @param args
* @author AmigoXiemailto:xiexingxing1121@126.com">AmigoXie>
* Creation date: 2007-9-15 - 下午21:45:37
*/
public static void main(String[] args) throws Exception {
ObjectOutputStream out = new ObjectOutputStream
(new FileOutputStream("D:""objectFile.obj
相关文档:
显示所有的用户表
select tablename from sys.systables where tabletype='T'
创建表
Create Table MAPS(
ID integer not null generated always as identity(start with 1,increment by 1),
map_name varchar(40),
area_int int,
area decimal ......
java关键字以前没什么注意,因为是很基础的东东。只是今天做SCJP题目,一看答案吓我大跳,翻转了我以往的错误观念。查阅了不少资料终于弄清楚了。题目如下:
Which are not Java keywords?
A. TRUE B. sizeof C. const D. super E. void
& ......
其实这个问题并不难,但是很多年没有研究过几何了.问题卡在这里了,准确的说我根本没有学过圆的标准公式这部分内容,google了很多,重新划了坐标研究了公式..解方程...
虽然结果还不是很圆,但是方法应该是正确了.
主要是因为double取整后有一些偏差.
另外行数多少,半径大小也相互影响
import java.lang.Math;
public cla ......
在Java里面,两个整数相除得到是个整数,比如 int a = 28;
int b = 10;
a/b == 2; //true
在Flex中,上面Java代码将返回同样的结果。值得注意的是,如果使用的是Number类,则有所不一样了。下面的代码中,result的值为2.8。如果你不小心把返回的结果作为数组的索引去取值的话,那么什么结果都没有。
var a:Number = 28 ......
来源:http://hi.baidu.com/wangking/blog/item/4d28730945364aaa2eddd4a9.html
一、什么是
Java事务
通常的观念认为,事务仅与数据库相关。
事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性
(isolation)和持久性(durability)的缩写。事务的原子性表示事务 ......