java list mybatis 最大能存多少数据
发布网友
发布时间:2022-05-05 08:10
我来回答
共1个回答
热心网友
时间:2023-10-23 18:19
1、序列化干
简单说保存内存各种象状态并且保存象状态再读虽用自各种各保存Object StatesJava给提供种应该比自保存象状态机制,序列化
2、情况需要序列化
a)想内存象保存文件或者数据库候;
b)想用套接字网络传送象候;
c)想通RMI传输象候;
3、象实现序列化究竟发
没序列化前每保存堆(Heap)象都相应状态(state)即实例变量(instance ariable)比:
Foo myFoo = new Foo();
myFoo .setWidth(37);
myFoo.setHeight(70);
通面代码序列化MyFoo象widthHeight实例变量值(3770)都保存foo.ser文件 文件读重新堆创建原象保存候仅仅保存象实例变量值JVM要保存些量信息比类类型等便恢复原 象
FileOutputStream fs = new FileOutputStream("foo.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(myFoo);
4、实现序列化(保存文件)步骤
a)Make a FileOutputStream
java 代码
FileOutputStream fs = new FileOutputStream("foo.ser");
b)Make a ObjectOutputStream
java 代码
ObjectOutputStream os = new ObjectOutputStream(fs);
c)write the object
java 代码
os.writeObject(myObject1);
os.writeObject(myObject2);
os.writeObject(myObject3);
d) close the ObjectOutputStream
java 代码
os.close();
5、举例说明
java 代码
import java.io.*;
public class Box implements Serializable
{
private int width;
private int height;
public void setWidth(int width){
this.width = width;
}
public void setHeight(int height){
this.height = height;
}
public static void main(String[] args){
Box myBox = new Box();
myBox.setWidth(50);
myBox.setHeight(30);
try{
FileOutputStream fs = new FileOutputStream("foo.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(myBox);
os.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
6、相关注意事项
a)父类实现序列化类自实现序列化需要显式实现Serializable接口;
b)象实例变量引用其象序列化该象引用象进行序列化;
c)并非所象都序列化,至于原,比:
1.安全面原比象拥privatepublic等field于要传输象比写文件或者进行rmi传输 等等序列化进行传输程象private等域受保护
2. 资源配面原比socketthread类序列化进行传输或者保存进行重新资源 配且没必要实现