Java基础知识:序列化和反序列化
一、序列化和反序列化的概念
把对象转换为字节序列的过程称为对象的序列化。
把字节序列恢复为对象的过程称为对象的反序列化。
对象的序列化主要有两种用途:
1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2) 在网络上传送对象的字节序列。
在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion先序列化到硬盘中,等要用了,再把保存在硬盘中的对象还原到内存中。
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。
二、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()方法读取对象。
对象序列化和反序列范例:
定义一个Person类,实现Serializable接口
import java.io.Serializable; /**
* <p>ClassName: Person<p>
* <p>Description:测试对象序列化和反序列化<p>
* @author xudp
* @version 1.0 V
* @createTime 2014-6-9 下午02:33:25
*/
public class Person implements Serializable { /**
* 序列化ID
*/
private static final long serialVersionUID = -5809782578272943999L;
private int age;
private String name;
private String sex; public int getAge() {
return age;
} public String getName() {
return name;
} public String getSex() {
return sex;
} public void setAge(int age) {
this.age = age;
} public void setName(String name) {
this.name = name;
} public void setSex(String sex) {
this.sex = sex;
}
}
代码
序列化和反序列化Person类对象
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.text.MessageFormat; /**
* <p>ClassName: TestObjSerializeAndDeserialize<p>
* <p>Description: 测试对象的序列化和反序列<p>
* @author xudp
* @version 1.0 V
* @createTime 2014-6-9 下午03:17:25
*/
public class TestObjSerializeAndDeserialize { public static void main(String[] args) throws Exception {
SerializePerson();//序列化Person对象
Person p = DeserializePerson();//反序列Perons对象
System.out.println(MessageFormat.format("name={0},age={1},sex={2}",
p.getName(), p.getAge(), p.getSex()));
} /**
* MethodName: SerializePerson
* Description: 序列化Person对象
* @author xudp
* @throws FileNotFoundException
* @throws IOException
*/
private static void SerializePerson() throws FileNotFoundException,
IOException {
Person person = new Person();
person.setName("gacl");
person.setAge(25);
person.setSex("男");
// ObjectOutputStream 对象输出流,将Person对象存储到E盘的Person.txt文件中,完成对Person对象的序列化操作
ObjectOutputStream oo = new ObjectOutputStream(new FileOutputStream(
new File("E:/Person.txt")));
oo.writeObject(person);
System.out.println("Person对象序列化成功!");
oo.close();
} /**
* MethodName: DeserializePerson
* Description: 反序列Perons对象
* @author xudp
* @return
* @throws Exception
* @throws IOException
*/
private static Person DeserializePerson() throws Exception, IOException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
new File("E:/Person.txt")));
Person person = (Person) ois.readObject();
System.out.println("Person对象反序列化成功!");
return person;
} }
代码
代码运行结果如下:
aaarticlea/png;base64,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" alt="" />aaarticlea/png;base64,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" alt="" />
序列化Person成功后在E盘生成了一个Person.txt文件,而反序列化Person是读取E盘的Person.txt后生成了一个Person对象
三、序列化、反序列化为XML文件
序列化、反序列化为XML文件,我使用了XStream来序列化,需要引入xstream-1.3.1.jar包的支持,
http://xstream.codehaus.org/download.html 处可以下载jar,然后引入到Eclipse中的build path中。
Serialize.java的代码如下:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream; import com.thoughtworks.xstream.*; public class Serialize {
public static void main(String[] args) {
Serialize ser = new Serialize();
ser.serializeToXml();
ser.deSerializeFromXml();
} public void serializeToXml(){
Person[] myPerson = new Person[2];
myPerson[0] = new Person("Jay",24);
myPerson[1] = new Person("Tom",23); XStream xstream = new XStream();
try {
FileOutputStream fos = new FileOutputStream("E:\\workspace\\2010_03\\src\\myPerson.xml");
xstream.toXML(myPerson,fos);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
System.out.println(xstream.toXML(myPerson));
}
public void deSerializeFromXml(){
XStream xs = new XStream();
Person[] myPerson = null; try {
FileInputStream fis = new FileInputStream("E:\\workspace\\2010_03\\src\\myPerson.xml");
myPerson=(Person[])xs.fromXML(fis);
if (myPerson != null)
{
int len = myPerson.length;
for (int i=0;i<len;i++)
{
System.out.println(myPerson[i].getName());
System.out.println(myPerson[i].getAge());
} }
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
}
代码
运行结果为(console输出),当然可以查看到myPerson.xml文件已经生成:
Inside Person's Constructor
Inside Person's Constructor
<Person-array>
<Person>
<name>Jay</name>
<age>24</age>
</Person>
<Person>
<name>Tom</name>
<age>23</age>
</Person>
</Person-array>
Jay
24
Tom
23
参考资料:
http://developer.51cto.com/art/200908/147650.htm
http://www.ibm.com/developerworks/cn/xml/x-xstream/#resources
http://www.cnblogs.com/stephencat/archive/2007/06/05/772520.html
转载:http://renyongjie668.blog.163.com/blog/static/1600531201022105142865/
四、serialVersionUID的作用
serialVersionUID: 字面意思上是序列化的版本号,凡是实现Serializable接口的类都有一个表示序列化版本标识符的静态变量
private static final long serialVersionUID
实现Serializable接口的类如果类中没有添加serialVersionUID,那么就会出现如下的警告提示
aaarticlea/png;base64,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" alt="" />
用鼠标点击aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAIAAADUsmlHAAABrklEQVQ4jZWTO0vDUBSA+3M6FRx1sIJDB5cqZBGHloqDk2CHOBnF4CDVDiJkEAsSFKlGbKsSHw1BE5/gAyGDEVMVbclDU6ipTTwOgdrGpurhcLhw+fjO5ZzrkfNCcpkg6CJBF+W80DJ42LxCTXhqYccdAPzkXWEA0PbC8kqHnOyUVzq0vfBP3hV+2x/QsxF4zthZzEbesgMO3hVW1v1mnrJe1qpVpvwA8Ceztu2vaBumzpn6galzFXVD2fI73m+fxTSKomgdrNKthk5ZpmxVHi1TNnRK3WkrMDGJRArHCzYPANoJgaZFENN1sHE7rfGBcokFgHKJ1Y4ChjgjkQiY1xKJ2P1/N+2AAcC6H/247AeA99NeKzdWYGKGgAW9HkPACkysbowO2O6KXh3hb9TM0jAASCRShW25K2x3hScvAKB7cEpKoQoTMgTsar7dEDAlG8ql0F/ME4u71CbbNzQpkYh1N66w0aDXo7BRSxyvkzc0p5izrtAId37D4b7Ph7lXIZ6Z7XkV4pCb43BfdU7OUTl26IlPcLivNp/4hOuSNPkDDaOBuXn9q/nf//lf5i81OE8ovCBEPwAAAABJRU5ErkJggg==" alt="" />就会弹出生成serialVersionUID的对话框,如下图所示:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAADPCAIAAACY8ZVSAAAgAElEQVR4nO19W3MUR5p2/4jvZm/mai92Lz5H2P72AsfujCM8EWuCJWJHETg89owHrw1MwH7CYztMO4wXPAMznjDMuBeagweDzdrCBmRog0wjMCOEJbUEQqBDW1iSsbCwMegwSICAblF7Ud3VWXmqrFN3VvE88YSiyM58882spN6n3jolxn8Y3P/R9u3NM9ubZ8Z/GHxweZv8rxEcxn8Y9NDo/V+dPjERoBcAAAAAACghQYoGR8XgKcwLEaw1AAAAAABCRSJqmQYAAAAAAGoDZBoAAAAAAFBCjTMNV6bvgR744PI2rVjzCQFBEASrQDrTQMX1sDMNNR9/RFlzlQDRAIIgeB/SJhoMw5j6/NnxvY+O739sfO+jU58/y+oGiAYdWHOVANEAgiB4H9ImGq6fWDr91+eM75tMzvz1uet/XUrpBogGHVhzlQDRAIIgeB/SJhomDv6k+MOBuSufWH/HD/zEjO7INGjFmqsEiAYQBMH7kDbRMJX9SWHq0+J0e3H6i+J0e2Hy04kjP7FiPJlpGDmcTCaT27umKB0w1bU9aeLwSPCi4eLJrYlFaxKL9nVyfh3KrF+TWLQmsWjNpi+ZX7/cl1i0NTMexgxK+w2LDy5vOz5pm8xr7ec0Fg0BzH9N5rnSdRCd7l2RKGHTOxtXNPsxdXJTYlnmqkrNgcwLZp/c+up2RG4kEi/svei6X9e82LwsKFMgCPqgTTRMNs+7PX1grjg+VxibK47fnj4weeyRqy0bRz9cdLVzl6kbSsrg8IgxcpgWDSOHk9u7rE1H2eAp0/DlPoFoMHlmUw2CSvX7fXB520PLhwaMiV3lsH18cvb429qKhqjOc4CdDmResGLeyU2JhD/R4Kf3YLl3BV80BNvvQOaFjeL/9SAIVo020XB7+E9THf9651arYRh3brVO5f719sifRz9cZBT7Rj9cZFBvVmBEg61gqmu7k2oY/2GwnDkYP75i0ZrEojWJPWem710xD9OJRWtW7NlXKl+0ZsXJoel7ZdFg1V9/3H7AYo/v4jNUywjfFENZfbbf0hBszvPsVFqJyjlkRcOq9tmBT9oeXN720CfES7Ynx6y4bmYmrrWfW9U+axiGYRMcVv3Za0wTsvJDb49dM6vZyyWucua/lDHas2/TojUrTg6Z/7Q2eOtBMs/mkrDtFJF9Uf3pe1c695i76YzpLb+y9/11RRI+O99JWCCUhJmWWJa5Wj5lf+dk2Q7/DJ6ww3bE9i6yY5XTLgns713xwt7O5mWlX2gBwRm1YLyOswfRAII6kH56Yu6bNXfPP28Yxuzpp+YuvXG1ZePtwbX//g+J24Nrr7ZstMV8R9FQzjpIREMpcb1ij3nsHsqst47jQ5n11rGb2DYP4uSx3iF4C8rHj68gYkPnHtFVD8X60pPR8eMrKsl5wbiE21yKMg2skiB1Q0lPTI6Z26bIWNU+a13a2DVU0RnHJyuXPB76ZMIqf+jtsWtGKathtXVcZ/T8lCfwjBnXKwkk4Xrg27l4ciu5I6z1ILIvql+a8/X7MuPU/hLtXFf7y2Tl8kQlWPZvLKuBK2bAJuOoGV/Nks53yKjJkyD9JzsrHVEhViRZuGKi1PZi8zKbCODb37uC0AoXm5cRw+HZl45XTIgGENSEnPc0NDe+2jEw2bTnJcMwRj9cZIkGM9kQimioHKArx2uJaCCitdLxnVN+8eRWWzT6cp880+BUn9Nv+bzZZMVJ86SWPT0VlfNYFg0VmMHblmYooaIhHvpkgr31wW6HyCgMDZHVdg2VhAL5k2XQcZ3xRMOeM5Vyu2jgrQeunUoag5pqgX1h/ZIpItFF9MJfVG72F8VKsCRPu0sggm7nO6LcPkcEXLRO9xOJhHfRQFizpw0E9imBQkV32r58vAJW/2oOCIIi0m+ENAxj/f5zhmH8bPlbo4eSEy2Lbw+u7X33x7cH1078dfGlQ0mpaCDuY1C7PCERAWqiQe347iwanOhUn3sGXI52dOS7Mk2EHOoMVVRuJ5tpqKQE7MGe+lV+v6SVUaitaFAXhWSkZ6ZXJBp49e3rTXFRqe8vhuUT7s53Epv6hdVciIb+jUSMZ8/L3YkGVjGI7VP3NDiLBsl4xUSmAQQ1ISfTsO5/jh/4rPUXL/xh9MNFc1//dqL15X//h8RE68tzI7+1JRvYGyGnug6XS5RvhDQvN5SP43S6mLgkwdn2fXnCfn1aenu/Q31RUCxvVyqf2URlHSpnt9xyLkWiwbysYF53UBQN5B2UpOawlS8fGiAvT4QsGrjrgW/HTOdYJdZUi+yL6ktFA/H0RGW/u9pfVNC9crF5WTl2spcSiFlyJRrKp+wXm5f5yTTYFEN/+SkPof29K4g0gPPlCel4xYRoAEFNyMk0HGo5s2Dxq+3dA+3rH7j37Za/Db7dtLnub4NvG5e2tK9/wCg/b1kBcRnCeuJS+ZFL82hu3W5GRojK3XDHS7enrS/dKJepZP7LZ6XMDWsVU7wb32z2Fc8UufWF/VZuhNx0stRw05e2crs/onIu7Xcp2p6boC5bmFccmMKKsLA/uklcyzDvebTXrxQODVmXQq61n5POm+hGxUVrVpw8vsm8QHCyfKuKaD0o7l/bDZU8+7z607aEwZnyJQxCFBJNSGGhvL+uTPdvtOXkbfcKbOSk66lCK9DS5ewNkonECxs3vVBuIqovtHNyk724LAi49s1HLs1/2scltC8YrwMhGkBQE3K+cmnFicsd77Wvf4Dk5Y73HKWAOniXJ0AlSi4x1ITBDQ3rAeQR72kAQT0o+8plgPpAJBqIWwXl2V3QRjNU38j9Xyts13Y7mHHZbh3FegBBENSOnEyD/G+woqHm448orWityd+aTwgIgiBYBcoyDdy/EA06UJ8cg7Vd8zkBQRAEw2aNMw0BWruvcH3qEgjeD6TvpwQAoBawok+NMw0BWruvcH3qUq1dAIDQsf+j7YlEwjBGQRCsIYWiAZmGqMAUDf3nciAYY0I0gKAORKYh8rBEQ6UokQDBOLAMVjRwBUQ5dyorCfDQ6WiZSOeqGqymMJL3pZs/rubQ8pz6Z9j+h7rYQh2Cq4VaCTXINEQRfNHgEuM/DIKghAGuWFW4Fw3c8vAOtY5BNxCbtc2vRDG7wwpHlbEEsr/CjuuhtvIrGsaVMw3mSyHp10iLy7mozVEpFoBoAKvAAFesKpxEgyjZEMih1v9BFqJBE58hGoKt6TfTMNW1PXl4hP32hKhchNoclWIBddHwq4OvmWR/qnlMAjVnOItXCrFosDLP1LGMUhJUiWKmWiVPK+qLrSCqQ+XPJUFI0WG3fXHNsoWKXUuMSyq48kdx93Hn0HEsXMvqMx+UHdEeFPkv6oudNFetFKa3/H903PM9DSJxANEQPtRFwy8bX/3m8tJf7n+V/YkMD4lEgo0Z5pKSl6i0EtVxrOahciCU96WbP67m0PKc+ieX4SxeKdyIhgQTGCQbKvFGUlmxC9ER31UrFbclTajgIW+o6I+H2eBGKceBeN6VKuOqWitXK8rVvgh1HToNufx/dNzzPQ0QDbWDumj4+cevDF1a8tTHr7A/qYQltlwlgDkG3UACZzXDdlCjqC0TjASUjyWcxSuFVDRYcHsAVYmC8mqioEi14kYCuc/y+OHoM9uRPB44eqjSe4In4BR7F8UzV/vUcVy1bcVdGx72ILcvD3tZ0kplpZWrlf+PjiPTEEGoi4YnPnip/+vnnvjgJfYnKn4kBMkGD8FSXkfFQlCeVC0AR4KJiIsGDxuiw6jbUKF4tPUWAl15q+68Nw8Ve3fUGSqT6XnGvI2raq3Ud59jK1Ff8nlWb+VXNCDTEBXIRUPduyvr3q2v27mybufKn71bf+bCs+Z23c76up31dTtXmtWo4MFGFEpJsCXcsMRtxVYQ1bG22TryjiTOuOqLa5YtVJ8HkXFJBVf+cIcZM9Fgjs46flHbkhK2guiY6FhN0pfEiNxDCmx3rhzmDpzbSmRK4o9jrFLvnZ0K0cBZm/KpSLjZ6dx5dttK5KGjA1wnRaMQ1VGcRnkrxfFW/o+OI9MQQchFw8Jty0/1L+ZwYPGp/sULt64wq0lEQ4IJJ+yGJCbJWyWcQpdKK8ewLW+ScArJjsFVvXf5hqgvV/6o7B3FcZGs7qKmlzFe7gSCmlAoGhQzDeZzlRVs7zJticpFqM1RKRaQi4bHU0vnp5Y9nlr6eGrZ/P9e1tzzzPzUUrNwfmrZ/NRSsxoZPCz4CUuioEiFRm6QlvcuaiUP22xUloxUblllFFwj3nqXKwmIBhAEq0mhaBjHGyEjAvV7Gn664blM1y9++tZ/sD+5CkKeRYOH0BWgaHD0x5uHir2rqCVHnz3PmLdxkQxn8UoB0QCC+lEoGvBGyKhAXTQ8+vtnPm57+tH1z7A/sYGN3ZaXiMIkt5XEiLwvCpKo7OgM5Y/EpqhQ7o+jJlDvnZ0K0cBZm/KpoHqXDCGcxSsFRAMI6scEMg1Rh7po+Je1T+8++fN/fuNp9idJtAPBcYgGEASNUcNnpkFyysWF5PhQm6NSLKAuGua9/uS81U/OW/0k+1PNYxKoOcNZvFK4FA2QFCBYBfrKNEA06AB8ewKsAgNcsaqAaABB/egr0xDg8aE2R6VYAKIBrAIDXLGqcCMaiDMT+p+8sxe6Yc0PxCAYFfrKNAR4fKjNUSkWgGgAq8AAV6wq/GUaSAGhvgGCoJzINEQegYgGANAOQYgGspCrFbjpBxAERUSmIfKAaADiCd/3NFBqAAkGEPTPADIN5ssf2ddFd2233gbp/CZpiAbPgGgA4gn3j1yKVAL5q7wQMgIE5fSbaZjq2p48PMJ+Y2LksKUVRg4nk4dHHI4PEA2eoS4afnXwNZPVcQwAfMH3expEdzmAIOiZAd3TIP0w1VTXdoiG8KAuGn7Z+Oo3l5f+cv+rcoPch2PZh2YdH6PVECH5LLep8shxNf1RtGC/3m9Q/6wGfIgGx4wCCILeGNA9DTLRMHLY6WtVBkSDD6iLhp9//MrQpSVPffyK3KAoKrDl+ogGdU9q5bM+c6UOViZyy8Pr3trEGyFBUBOGnGmY6tqucG3CgGjwAXXR8MQHL/V//dwTH7wkNyg6m4Ro8AN95kodEA0gCFIMMdMw1bVd7SZIw4Bo8AG5aKh7d2Xdu/V1O1fW7Vz5s3frz1x41tyu21lft7O+budKypqVi6YKKSWhkqlmE9rstvyqB5Ub59YROSMqkfjMdcnRH65Nbu+ifinf5DPGLXTlj2jmuV5x/+nYMBhANICgfrQdHgPMNIwcTiYVrkpYgGjwDLloWLht+an+xRwOLD7Vv3jh1hWUNSssUSXyDRYqrRQ3VEKXYx1XPsvtSKqpeyjp3dtsuPJHMfxDNIAgSFEoGhQzDebzlhWYQmHKetyyBNwIGR7kouHx1NL5qWWPp5Y+nlo2/7+XNfc8Mz+11Cycn1o2P7WUssY9c3Xc4IKKcIqWRXW4TpIlbkfh02eqlVsPRUa89S5XEhANIAgGRaFowBshowL1exp+uuG5TNcvfvrWf0isudIKkuDBjaPqfblqxVZTbCWCK38kvbsSDQZPsqj07tgXRAMIgkFRKBrwRsioQF00PPr7Zz5ue/rR9c+ITFEntdS2vIRrSnTizt2W11E0zu0rDJ8lHVGmKHC7tlqJXFLpyNEfkU35VFC9y4cQJCAaQFA/2g6PyDREEeqi4V/WPr375M//+Y2nq+AVFXer0CMQN0A0gKB+FIoGZBqiAnXRMO/1J+etfnLe6ier41i1T0yBmAGiAQT1o69Mw9jYdVeUHB8gGjyDLxpAMAYsA6IBBDWhr0wDRIMO4IgGAIgXIBpAUBMi0xB5QDQAsQdEAwhqQmQaIg+IBiD2gGgAQU2ITEPkAdEAxB4QDSCoCQPINOQakslkMpW9REmEfDZdeh9kqgWiITxANACxBykayo/kjBq8T2D7PBpyrVVTrGgojNhpCXbaq+OzqA65lgLvi3nfySj1T7nZmk+j2LESvGQa8tl0sqF3LNdIiYZcQ0Ur5LNp81fJQQGiwTPkomFB/e7n1zU1d1x8fl3Tgvrd1XUtVli7dm2tXVBCVPx0BSrT4P9ALzo0V/lIHV53wVpmrWkb0hQ9DHt+JL8GuHprN7El+LingRENVMoBoiE8qGQaFOVCDd76x/PBc0PSc+rtUj4HZUXitQTU23LrUyVuzUqciZ9ugGiorWWIhgD7iq1ocHdPA1809Dbg8kT4CFA0GNX/vkBAUPHW84hIxcAWGmpBWi4a3FqT++bWiP5wFA3crK9jEljURG5EMcNMVpC45+iwox2VcanMhnywcuOOdri/Kk6RqFXCDvWJZVs5VlCfH+54uf9UmSJX+706TFQh05BrSCLTEB4koqH9+OsmF9TvtrYpUk2sBUGuDP2h4q3nEYkCM1tBxQi3BKJBDhXRIDpS+z+gi+qomJW7KnHblR1v4/Lgszc7rvqS13Gc/GrOfHj7wnOrKlAoGoLINBAph1QLRENIkIiGY01v9EwUeiYKC+p3mxsUjzW9QTUh9CxdSFXwWYcLqoLIjshnygG2mrw7EeSigbpAYG1TVw2o7aCuLChe+4g6VC5PUBHFvip8HZq5AUbRbBVCV4Ahh5oxP73Lp8jbHpR3KnGV9cfbzDvOT7D7wkOrKpA8ZgaZacimkg054qbIhl6IhpAgEQ37973ZM1EYvXp7Qf3u0au3We7b/ybVxFwQtmXB5B4cN9i/3A0uqF+9tVIpUbRsuM80KEbxQCK9JVD8m9IZ6vc0uD22ehMNjl1EUTS40gpuBYF6HZWfVAYud8PPzLsaqbd94blVFSgUDYqZhlzptoUk9XRl5YYG3NMQMiSiYfv7f+6ZKHx77daC+t1j12bLvGVx+3t/oppwYzyhr/l1yGqGWDRQdriopmhQ8cfwJBoc6yi2csT9eXnCUMsrsCWig6BZh6zPLZT0JTErd4Ys5NYRVfDmgMpUcHuUlKjYcazDbcKtoBLVRD67reC4g+QjTdjhdvE4+lMTJkSiAW+EjAokouEP6S09E4UrEzcW1O++MnGD5e/TaaqJtSDYDZU6CaloUBkOVU2xucRJR8uOcHsjpAfR4DnG37eiIXKMtPMgaFEoGvBGyKhAIhpWbfjLqg07Vm3YsaB+9yvm9ls7Vr21g9wg6xN6ln+Pgkod8lfDHpvJX7mgKoj6ErXiNuT6puiPBeqWBa4CIG9lULyDQV7HMfCT9V01jByiLhqIlVZ7Z0DQD4WiAZmGqEDlkct/w2udfKP6kdjnBYs4IeqiAQRjQ2QaIo9g39MAaIJYxn7PgGgAQU2ITEPkgddIA7FHGKJBdL0gqF7Ckzhyy/G+DqIydraO/vtUMhz/HgZ7dQyZhsgDH6wCYo+QMg0BGqxtnKZ6D9UZ/RVJRCVCSD6E87+mBGQaIgmIBiD2gGhw1TtEg1Z2autD9UQDMg1RAUQDEHuoiAY2B0v+0/74jFITUStJNVEFRX+4h3vyL9eyyrgcZ4zd4DrpOBsq45LvDmqbWyjZFwYTJiUzJuo9vH2qblzRAQ8j9ckEMg1RB0QDEHs4igbywM3dYP9yN7ghx3GDbeXZDtuE8tlbXx5mTNRc3pfIZ7kRUe/eRurYStIk7H3qduZdWVYfux8KRYN6psF8KaTg2xO9DcnSO6QhGkICRAMQe6iLBtGhOUDRYAjOAkMKMNzTR7d9eZgx0gH1vhRFA2s5QUDiPNdtt/siKDs+RYMrO+z8uDUeFIWiQTHTkM+mkw29og9WZVPJhmxLCqIhTODpiagjTk9XhjQWrUSDSqtgA0wNRYPb+VEXDa46dTVSD6Kh+vvUrR3F2F9L0eD/K5elL2LnIRrCRYDvabCL2dqgOl3XdowkHL+E6cqCYX+5pGF/U6SklWKnojddOlr2iUDuaTCYYCZqwq3ALZd0R/0qqcDWpI74Eg9Z44qW5cOnTEkGojLPkq5FQ5P0KypkoTjMKu9Tx7Uq8ofrgKsdGggTPjMNItFQykCMXYdoCBvBvtzJWhDkyogldBigY7h1W8LdVoziHnqv2pcv8HInENSEQtHgM9NAff3S/FVyUIBo8AyJaGg//rrJBfW7rW2KVBOIhmqCmySQVHAsUU8qqFSDaABBkGJYmYYKkWkIGRLRcKzpjZ6JQs9EYUH9bnOD4rGmN6gmRC6LLqQq+KzDBVVBZIdqQv0V+cMWUuOlulMfBVvNcaQm2Hgvj77sF624n7mSt5LXYY079qWiNnwCogEENWFYmQaIhqpBIhr273uzZ6IwevX2gvrdo1dvs9y3/02qCTf6ut3gBnJ2gws2HstbKfbFjfSikUp697YhglvRoFjCtSwq9FPC9Vnkkh9ANICgJhSKBsVMA3UZIplq4V6kwOWJ8CARDdvf/3PPROHba7cW1O8euzZb5i2L29/7E9VEFG7Zc3SDibjkObrBC+TcE3eRA5K+2Cbsib5jc5UsguNI5ZbdigZuSkDSRFRClYctGiTlQcGtaChPfu2PsHLHuE4G5by2k1D9CXc7D3pOnSYuCUUD3ggZFUhEwx/SW3omClcmbiyo331l4gbL36fTVBPFcCvfEIkGleF4Ew0GE9c9jEKluSvLjgg8HyA3GG/RQP3q+Qgb9qFZxX5QPtQqzOjmvwc7mkRoDSkUDXgjZFQgEQ2rNvxl1YYdqzbsWFC/+xVz+60dq97aQW6Q9cnzY+pkmiqX1CF/NZhYLj//piqI+mJbGTy1wbUjsUz5L3JYpZrjSC1YGX7R3QOi+w9E1iS3HVAbjnkOxb5Y/x1H7RYQDXqOJSr+e7BTq6nTn7YDHTINUYTKI5f/htc6eYJK1PePMKJsrRDSWFRe7lRWacISQyHtTLUi/5lg4MqyyLjjQLi9cL1SmRCRHaqV3EluR9xJk/gs6T0QO0ycc46Fkt5FcyiqI5lDUcNAjLCF8o48MIFMQ9QR7HsaAAvEfz+gxvCTaZBsBGVHxTK3jmNfKnY8bwQyY9yfJLHWVV8qrVTm0DFqBjirfibT7awG26kihaIBmYaoAK+RBmKPoEQD9+RMxQ43ArmyXHPRQHkoCkvykYpcEg1E1FwxqqmHSdYfb6LBcX9x55CtwzaR1PE5q5LZUFzzrigUDcg0RAX4YBUQewSbafAQPxxFg7rZWokGlWGq+KwybzUUDSrz7NhRqPOs7pXirHrr3TOFogGZhqgAogGIPRQfubSiO3l2RZ0aejjJYw/W3LNAR8vUaZ/cjjzYsBCNlDt29a7dDkq+L+QN5XbkY3ecH/WBqKwfyibbkOuzt10sN+K4wlXG7ooJZBqiDogGIPao7cudEkwYq4kb1RxmXMeIOQxojCUg0xBJQDQAsUetRAN7ihb4eZtWjPfoMIdBDdD6j+kx02C+9pF+jXS+JVV5T2RjDqIhNEA0ALEHXiMNgprQb6ah9Als9tsTxCcnkGkIFRANQOwB0QCCmjCgexogGmoHV6Lhn/7y5D/95UlJBfsNOKpfa6w+KMe4TpIDEdWpLXx6SDV31cpVk5qAdNLD0xM+D4vUzWW1OjrHO9ENRpEB3dPAFQ24PFEVuBIND21dtK+r7qGti7i/csOwtgFG7lg13fbWV1AeerCj7T4VwVumwVu4DSpI62YHBANhaJkGkrnGZEMvRENIUBQND6TqTH75zfP7uuoeSNWxdUTn64H4GTggGjzb0XafigDRAIKaMLRMg429DakWiIaQoCIa/vGthfu66nqGn7O4r6vuH99aSFVTSfKThVQFbh22pshJuR2JS5675lZQGZrEGZWRqnjoajbkHVF/VXzmzobjuBR9Fo1dMhuK355gS8hCey8yO2QdrhGqXNRKxWGRffsxWmmw8pHK/QFBRdr+LweYacimKs9TlG6WhGgIB46i4e9/9/i+rrr2gcUktxx94u9/9zhVM8GLB+RxPNgNbkfkX3U7rE3HEq5BUR05HC2rtFL0kK2p0ouHWZXMhqRHbwtAvvAMr/c0OEZfz3ZULDt2J7FDBXt5HcmG3DIIeqBQNChmGsznLStItZC6gSoUHWgMiAYfcBQNP1r92JajTzR2PPWj1Y/9aPVjjR1PbTn6xI9WP8bWVBQNhvgOPrYO20Qf0SAaBVuN67DEssSgKw/ZcnYOVdwTNaEkgnw2HPegyLJoFKxxrikjINFgqJ1tO9rhWmAte+uImGFh79w63BJ5KxD0QNt/ZLwRMopwFA1/9/KPtxx94u9e/jG1zcIxrnjY4BqX9E7+Ve9CpTtJTHL0UO68yLKrVip2FMfONau4c9Xdk/QVSBdhiAZ5uaIdSXNJsPfssGPvVomrn0DQG4WiAW+EjApU7mn4P/9/nrVhbXNBnI7Q/+SW289gDGqDbMIaZ7s2BBGOjaZsp9yOuAPh+iOvIPJZ5KRjE0cPubNqCGZe3h01pY6WRbMhKZdX4E6OaFBcO4r3NLAVyEJ7Lw522FaSjkSWJX3JHTbLE3ZI2lLVVFpJJgEEJUyQ/5eRaYgi9Hy5U8IeJGroCVBNhLSv8XInENSEQtGATENUoKdoMBTOSoGYIbw9DtEAgpoQmYbIQ1vRAABBAaIBBDUhMg2RB0QDEHtANICgJkSmIfKAaABiD4gGENSEyDREHhANQOwB0QCCmhCZhsgDogGIPSAaQFATBpBpMF8Kyf/2RK6R/NCl5KAA0eAZEA1A7AHRAIKa0G+mofRdCd4Hq/LZtPVRbGQawoOiaPhjpveRZOPDy7c9kmxcvOXUoTOXquId4B21fVo1vN49WIZoAEFNGNA9DaxoyLekiO9QQDSEBxXRMO8/t/2/l/cdO3/Z/Ofh7kuPJBt3fP4VtzL3mM4+fy9/Ip99ZN/+lroaIyF4+6Qfa4EjQLNyU9z9UjXRoLIwIBpAUBMGdE8DKxpyjamGxvInq9LZPERDWHAUDYu3nHok2WhuX5m6ZW50fHXVKqQgOnaz5So12cAcP9EQBqrvlbd95NZPkSSVW4NoAEFNGEvMtfQAABD+SURBVFamIZ9NV250KGcdJIcSiAbPkIuG91ouJBZt/fqHGcMwHkk2bvi07+Hl21a8mzMM4+Hl27hNROd8HkSDZUq3wKy/aKg+vM1DILMH0QCCUWFYmYZ8Nm3/THY6m4doCAVy0VD/XscDv95mGMbiLacWbzllGMa8/5SJBm4clVxr4HbKDclcC+wGWU1UIrEmb8gtYUeq7qFK19xyUTU5HB3gzg+3F66H6p5Q/sgt+7cD0QCCmtB28Anynoax69lUsiFnbvc2INMQGhRFQ2LR1uEr0+ZGbuja1z/MKIoGMvaINiRGJJFJxTJ3Q2RT4pioxNEfx74kY/QwdXJIxuUoEeStgnLJ2wAdxwXRAIKaUCgaFDMN5vOWFdhufuy1fjTVg+SoAdHgGXLR8NpHZyzRYBjGtmMXzI2Hl2/LDV1j67Pnsn5EgzyA+dyQ+GzwYidbgbUmGrvEea4Rbh25P4rgDlPus2gg3Anx4A/3n/5FA+khRAMIakKhaMAbIaMCuWjY1/71w8u3XZ68se3YhYeXb/tjpveBX2974NfbjvSM/THTy9b3Gb9F5dzgFKBo4Lohr8yKBld9uRINrjxUgdvZUJQ1fjxxdEzdCFsC0QCCmlAoGvBGyKjA8emJNR+feeH9zhP935u3Q5p498SFbccuUDWpE1ZqW17CNWVVENUXVWMrcP/pWE1eYvBiHgtuLyKf5XUk/qhA0SvRoBxH6tYf0pTon+qDkpRDNICgJrT9Z0emIYpQeU/DnraR1z46Y94LuXjLqdc+OlMt79yBGzlq4kmwoGJqDT2JKCAaQFATCkUDMg1RQWxeIy0/h4464jSW6gOiAQQ1ITINkUdsRAMAiADRAIKaEJmGyAOiAYg9IBpAUBMi0xB5QDQAsQdEAwhqQmQaIg+IBiD2gGgAQU2ITEPkAdEAxB4QDSCoCQPINJgvhaReI51N2V8Umb0E0RASIBqA2AOiAQQ1od9MQz6bTjb0st+eyKYac+XtfDYN0RAeIBqA2AOiAQQ1YUD3NPA+WMUKCMlBAaLBMyAagNgDogEENWFA9zRIREO+JdXQi3sawgNEAxB7QDSAoCYMPdOQz6bLH8iGaAgFEA1A7AHRAIKaMPRMA3lzg+SgANHgGRANQOwB0QCCmjDkTANxbQKiISRANACxB0QDCGpCv5kG83lL4tnKFtG1CYiGkADRAMQeEA0gqAnxRsjIA6IBiD0gGkBQE+KNkJEHRAMQe0A0gKAmRKYh8oBoAGIPiAYQ1ITINEQeEA1A7AHRAIKaEJmGyAOiAYg9IBpAUBMi0xB5QDQAsQdEAwhqQmQaIg+IBiD2gGgAQU2ITEPkAdEAxB4QDSCoCZFpiDwgGoDYA6IBBDVhAJkG86WQ7GukKy+LxFcuwwREAxB7QDSAoCb0m2nIZ9PJhl722xOl8rJ6MF8mLTkoQDR4BkQDEHtANICgJgzrK5fkVyfy2bT5q+SgANHgGRANQOwB0QCCmjC8r1z2NjBfsZIcFCAaPAOiAYg9IBpAUBOGlWkYyzUSmYbGbB6iISxANACxB0QDCGrCsDINuYa0KRTIXyUHBYgGz4BoAGIPiAYQ1ITVuKcBoiFUQDQAsQdEAwhqQr+ZhspzlfbbF2z3NCQbc7inITRANACxB0QDCGpCvBEy8oBoAGIPiAYQ1IR4I2TkAdEAxB4QDSCoCZFpiDwgGoDYA6IBBDUhMg2RB0QDEHtANICgJkSmIfKAaABiD4gGENSEyDREHhANQOwB0QCCmhCZhsgDogGIPSAaQFATItMQeUA0ALEHRAMIakJkGiIPiAYg9oBoAEFNGECmwXwpJPOVS+JlkQ29EA3hAaIBiD0gGkBQE/rNNOSz6WRDL/crl9YrpXMNSXx7IjxANACxB0QDCGrCsL5yaftg1VhvQ6oFoiEkQDQAsQdEAwhqwrC+cklmGvLZtPnNKslBAaLBMyAagNgDogEENWFYmYayVih9+jKbgmgICxANQOwB0QCCmjC0TIONuDwRIiAagNgDogEENWGImQbyMQrz/gbJQQGiwTMgGoDYA6IBBDWh30xD5bnK8pWIyj0NSTxyWQ1ANACxB0QDCGpCvBEy8oBoAGIPiAYQ1IR4I2TkYYmGyYnLIBhLQjSAoCZEpiHysETD3NxdVw0nJy67bQLcn3inaXji+szM9fFA6GGhQjSAoCZEpiHyIC9PfDdZPHex2DV454ve2ZZzs5+fnT3WffNY983s6VtHum425WYPddw80HZj+Ls7hmFcvDRqNTnSdfNw7lb2tAse6boZBg/nbqkzJG/hg+VD9vStoW9vG4ax+cCFG9fHA6GHhQrRAIKaEJmGyIMUDecuFkev3vvqu3v9o8Xz38ydGymeHZrrHip2XZjLDRba8sXWvuLxs3ePds4YhtHz5YjVJJcvtA0UOwddMJcvhMG2gaI6Q/IWPlg+dA4Wj7RfNwzjdx/03ZiZDIQeFipEAwhqQmQaIg9SNHQN3vnqu3uD3xbPfz13dmiu68Jc52Bx4bPr2waKbX3F1r7iiXPF4913m8/cMAzj89NfWU1yg4VcvtA1OKfO3GAhFLqJamF5Cx/KPnQNzmU7pw3DeH1X/80bU4GQu1AXPru+JJV4CxWiAQQ1ITINkQcpGr7onzVP3bqHSmeWC59db/LY2TmTx8/ePX5mxjCMTOuAYRhf9M72j5ZPQEOLamExOG8nb9zj/q2mDzrMA2vZPN1fvavv1s2/BUJ2oVqr9MS5InehQjSAoCZEpiHyIEXDiXO3z40Uz47MdV2Yy+ULpGJo7i4e7S40dxebu4vmsfijY/2GYbScmz3/zVx7fq4tX2wfmHPBfChsyxfVGaC3kzfubTh4m/1bTR90mAfKh/aBOUs0zM7OBEJ2oZJrlbtQIRpAUBMi0xB5kKLh87Oz3UPF7q9sZ29Huwsmj3QXzQ3zWPxBts+AaIBoUBYNd27fCITUQjV57OyctWLZhQrRAIKaMIBMQzZVfhsk83VsvBGyCiBFQ/b0rc7BYtdg5fh7sq9wsq/w2dkSzcNx8+kbhmG819RnGMbnZ2fPjRRPDcy1DRRP9c254EAodHUDYIDeCkVDFX3QYR4oH071EaLhzmwgJBeqSXOVnuwrULrBWqgQDSCoCf1mGnINllbobUiWvjExNmb7NDa+PREqSNFwpOumdTXaOv5+ToiGz84WPusuHD09Y5RFw7Hum2eH5lr7iq0DRevYrcLWvmIoHHDBAL0ViYZq+qDDPFA+nOwrmDdCrt7VVyjcDoSGYRzO3aJ0T+tAJTdmLtSm7rtNnTOGYexq6oVoAEFNGOQ9Dfls2hINuYZ0Nl/+Kd+SauiFaAgJpGjIdNxq7atkrSvXifuLn/YUTGZO3z2Uu2kYxq6mXgOiAaLBhWi4EwjZhXpqoJIb4y5UiAYQ1IQB3tNQ+v41XzTg09ihgRQNjadunThXbO0rnuqba7WfvR3pKx46XzxwtvBJ191MrnQCZxhG9vStrgtzzeeLzX3F5nNueD4c9rlhoN5uOHi79LfP9reaPugwDzYfzhXNyB2saKAWKqluuQsVogEENWFAmYZ8S4q8NgHRUEWQomF/683m7uKJc8WTvYUT54snzhc/7yuYiuGz84VPewoHzhQaO+9k2iqi4VDHzda+4mdnC4d6ike6XdB2ySM4HuopqjMkb+GD5cOR7mKmfcYwjP96f2Bu7m4g5C7Uhc+uP9Y3J1qoEA0gqAkDyDTks+lkkpAI9vsYcHkibJCiYW/LzJHTd46eLRw/e/f42bvHzt452lPI9tz9rLvwaXfh4Ok7jZ13PsnNHmybNsr3NBxou3H87N3PugtN3Xet5yxU+Fk4bOq+q86QvIUPlg9HuwsHv5g2DGP9BwP37hUCoYeFCtEAgprQb6Yh15BMElclyNxDQ/lhCtwIGSpI0TD07e0j7dezndNHO2dMZjuns53Th3I3D+Vufpq7kWmfOfjF9IVvbxmG8UlL3jCM4e/uHO2cOXp6pqlzpvn0DXUePT0TBps6XTAkb+GD5UPz6Rvmatl8cCRA0eB2oUI0gKAm9JdpyLeUH7csP1xJXKGwHsXEI5ehwhINp/q/V2/1yReXJycuh+YUECvsbR0bn54NSjR4WKgQDSCoCfFGyMjDEg0T12f2toxuzlx4c8/g7z7oe/29/v/a1bt6V5/J19/rN/nbD/KbD46MT89OTlyenLj8/ffftp8f3tXUC4JcfvbFl+ZSCYoeFipEAwhqQrwRMvKwREMLAMQUlmjY/9F2EARrSGQaIg/yngYAiCWITAMAALUEMg2RB0QDEHvg8gQIakJkGiIPiAYg9qiNaJjMpFfuGNbHDghqQGQaIg+IBiD2qFWmYbIjE0iwD8pOVDmZyQ1HzbL+vdeIyDREHhANQOxhiYbJjnW/Wfm8yRc3ZybDPDhOdqxLd/RSQSK9ckmp95XrcpP8Vi8eaHWwI+7RNJ6JUSgaPrBEZUTDHbK9yc6quuVqjovrJ9lEcdEGtRLCWFHINEQeEA1A7EFkGloz1kF5eIdiMA6Mw5nc5KgxvCMzLDnLJDx0x97cgXBlUM1ozpisTmvGIZoKZtXZcm3HRVFxFwe1EkJZUcg0RB4QDUDsIREN5rlUuqM1t3lJ5ex/eId5gmWpCuuUyzrVY0u8hQrzjPM3K58vn2K2Zg5kcpuXuLNM5jAOtFruUeOyfE539BpGb27zkvTmdb9Z+bz5lxvAJjvWvXhgR2blEjeWOa3YOtw5ZGZDIbiWdxZpWXVWKcvMfudOCDVSzvoRtKIr8FYCWcK0KkVxWY6EWQkefVaww3pYyZQM73ixfCMOtZcDyDRYb35Mld8bbTLXQBdKDgoQDZ4B0QDEHjbRYB0KreAxmUnbDp0VYTHZsSM3OWoYvbkO6jyVLfEkGiYzmdLx1zqra80Qh2A3Z6LMeSE1rslMujyu4QPrzJxHuqPX9pdjtjVDHP1L/jhaZltx6jBzyJkNXmh3HLv6rNoss/udF0rpUbDrh9fKXGxEc/647GuDaWUOxzEXRc+GF59V7HA8rPg2fMBcAPReDuDbE2VZ0NtAvEY6n00nG3rHco0QDWEDogGIPfiZBk6MsY6nS6yT19JBfHgHfabIlihScHZbFjG2XIhP0UCOiwqWplDIDI9af4Wigb2g42iZl9Fh6ghn1SEfoDJ2xVmlgjS73+3kj4JaP457XFIu8q0yzHXplUsk9z2ws+HRZxU7HA9Z0UDv5SDvachn0+S3J8bGrkM0VAEQDUDs4U40cOq05qwz182lM2mmRJn2wPCi7SRylLw8LzzfVQycrBhiMg1KooG4dmBlGhwss614deg55MyGNOiSY99MPJWqPquCTIOQgrN2hwBMtuqQjosSMXSr0jCdUlBKmQa3ooGfaaA9tObZ2iP0Xg7wnobeBvZzlxAN4QOiAYg9qKcn2MvG7Klt+RmHcop1M3V9ly1R42QmvZK4kGw/u33xQKvtAooLy5VW5ui442LvaXhx847M5iUvbs7khHfmt2Y2r0sz9zRILXNa8eowc8iZDeLuBOkdHqWL61a2XGFWOZbp/S7siLo/QNE9cu2xvbP3c1CtzArmKb54edArwavPznYk43px5br05iXWMiPHFVCmId+Ssn/iEqKharBEAwjGmHgjpDeWb5pz95iJt1bg/cAAMg35bDqZTGfzvCcmIBrCx/WpSzX/hAkIVoEQDSBYc/rNNOQakkn2qgREQxVhJfFAMN5MAACgAazo4z7TkG8pP25ZgnWFwnzesoJUC0QDAAAAAMQGeCMkAAAAAABKwBshAQAAAABQAjINAAAAAAAo4X8B6VahRUTxQnEAAAAASUVORK5CYII=" alt="" />
serialVersionUID有两种生成方式:
采用aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAVCAIAAACMmjY4AAACV0lEQVRoge1av0vDQBTuv9SxotChQzN0MENpra3VYgoVkqFQKFbQQRddIoguzSBdCgq6ukkRREQd4iCCSMFZ/AviEAzhfry7nGmT4R0fx/V+vPfuvS8fbUnm53uKQMSOjIcN2wxaxn25RyBih4piZTt3TycL2GPP6z3PUyGWfx6B4EGRWInHjUgzBIq1drXtAxULERUQseqX/c8vo37RhxWLKWDMbUKpk98jqZrzl1jYV9riiZTDIHIeEwIIFKs67r1PN1fGPXoprFg86/S8zCWFhYklufMs7SyKnXjMwUeg+lxilUdd96NVHnXpJcIE0zoSK95bJItIxGIolj609KGpO5buWMtD8/Ft3R/rjqk7pu5YhGJ5f9pIeCXYxmQkHTrzFL2BtycY03tgR0AwkXwxzTIfRck88IwDGyLFw7zm/4mVpRWrdNaZuE0GXpsTt1k63WLWjFlFYADEDZ8SXk/mlLC08BFh2YQFkPcOD2T4qpYxBTthMBSraBua3S7aRtFua8ftm+eGZhv+pGa3Ndvwt4UVi35KFELnJY7JY+Ig7B1mCZxKwgjPF2xZ5hZMI2reYbbNh1hZ+DtW4ah1/bBaONyglyIFqkwshevFSCxhPGoRSnqXeaJkSJAIsQS/CvMHjfFdLb/foJd8xQpfnh7DM7xUMk8BRmBfRAMqJwyGiAewyZuE4xHyRt47nQrexWmbcCoI73ACucRa2q2d31YX92qRMoJACBQrt1PJDSq5QYVewn/eETAgYgEt8bgRaQa+3YCYFdQVK/E3frBPc69ILGzYhO0XUZDh8519YgEAAAAASUVORK5CYII=" alt="" />这种方式生成的serialVersionUID是1L,例如:
private static final long serialVersionUID = 1L;
采用aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANEAAAATCAIAAACBeH8HAAACK0lEQVRoge1VMUvDQBTO3yoodOjQDB3MUFpra7WYgEI6FArFCjrooktcdGkG6VJQ0NVNxEUElwqKICI4CP6HOhQ13L17eUnaS9H3ccPdy7v3fXn35WKMouPz45EHD2Tg/jFieI7BSAL2HEM32HMM3VB6bvl8czx0qmH8Byg9Vz3rvL7b1dNOyH4DqGAYhhCXI7OPKWnGaxrfmDhvPD3ECkEIESBfVag8aD+/rS0O2vEUy/HZ8RxdSVqaZ6dXdMi3DBgfIZ4r9lvDl0ax3wplUl11oZG0wJ6bBmJ6zuo1rZ5r+U3Lby703LunlfHc8l3Ldy2/CdKAv9FgkPK/kG9jeY7/soWLHcxRiVFFEM2gpFA9YE2QXcUraMM7BgYj6VF1HlQFLoH6wUXheP16WAfGQ/16WC8cbYA0QtNDJ4jc5BPKm4fmRNKM10HS6AoR9njdiKSH0g1Knd9HwUXes03PyXt23nPMQ+fyvmZ69jhoeo7p2TKN/N3EViw0nVJZlQOKlNtB50qoWdgVVaGqSDx23Ii6PRdE7qBxcbuU21+l0CT0HHgMdK5Iu+Q04i4VIulB2CN5bgQ5nsIeypWm57J7tcFNJbtbQziEKyc4xyNgKdW1Ac7xHGJxkGsamhEioZQAkPpnl0oShShUj6om3gqBHc5XvdL8duXkqjy3U0Fee1IQjk0DIyNFKA84s1XKdEuZbkmTDsKXzfgb4DNm6AZ7jqEb7DmGbrDnGLrxBTOIm3wX0K0ZAAAAAElFTkSuQmCC" alt="" />这种方式生成的serialVersionUID是根据类名,接口名,方法和属性等来生成的,例如:
private static final long serialVersionUID = 4603642343377807741L;
添加了之后就不会出现那个警告提示了,如下所示:
aaarticlea/png;base64,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" alt="" />
扯了那么多,那么serialVersionUID(序列化版本号)到底有什么用呢,我们用如下的例子来说明一下serialVersionUID的作用,看下面的代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable; public class TestSerialversionUID { public static void main(String[] args) throws Exception {
SerializeCustomer();// 序列化Customer对象
Customer customer = DeserializeCustomer();// 反序列Customer对象
System.out.println(customer);
} /**
* MethodName: SerializeCustomer
* Description: 序列化Customer对象
* @author xudp
* @throws FileNotFoundException
* @throws IOException
*/
private static void SerializeCustomer() throws FileNotFoundException,
IOException {
Customer customer = new Customer("gacl",25);
// ObjectOutputStream 对象输出流
ObjectOutputStream oo = new ObjectOutputStream(new FileOutputStream(
new File("E:/Customer.txt")));
oo.writeObject(customer);
System.out.println("Customer对象序列化成功!");
oo.close();
} /**
* MethodName: DeserializeCustomer
* Description: 反序列Customer对象
* @author xudp
* @return
* @throws Exception
* @throws IOException
*/
private static Customer DeserializeCustomer() throws Exception, IOException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
new File("E:/Customer.txt")));
Customer customer = (Customer) ois.readObject();
System.out.println("Customer对象反序列化成功!");
return customer;
}
} /**
* <p>ClassName: Customer<p>
* <p>Description: Customer实现了Serializable接口,可以被序列化<p>
* @author xudp
* @version 1.0 V
* @createTime 2014-6-9 下午04:20:17
*/
class Customer implements Serializable {
//Customer类中没有定义serialVersionUID
private String name;
private int age; public Customer(String name, int age) {
this.name = name;
this.age = age;
} /*
* @MethodName toString
* @Description 重写Object类的toString()方法
* @author xudp
* @return string
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "name=" + name + ", age=" + age;
}
}
代码
运行结果:
aaarticlea/png;base64,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" alt="" />aaarticlea/png;base64,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" alt="" />
序列化和反序列化都成功了。
下面我们修改一下Customer类,添加多一个sex属性,如下:
class Customer implements Serializable {
//Customer类中没有定义serialVersionUID
private String name;
private int age; //新添加的sex属性
private String sex; public Customer(String name, int age) {
this.name = name;
this.age = age;
} public Customer(String name, int age,String sex) {
this.name = name;
this.age = age;
this.sex = sex;
} /*
* @MethodName toString
* @Description 重写Object类的toString()方法
* @author xudp
* @return string
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "name=" + name + ", age=" + age;
}
}
代码
然后执行反序列操作,此时就会抛出如下的异常信息:
Exception in thread "main" java.io.InvalidClassException: Customer;
local class incompatible:
stream classdesc serialVersionUID = -88175599799432325,
local class serialVersionUID = -5182532647273106745
意思就是说,文件流中的class和classpath中的class,也就是修改过后的class,不兼容了,处于安全机制考虑,程序抛出了错误,并且拒绝载入。那么如果我们真的有需求要在序列化后添加一个字段或者方法呢?应该怎么办?那就是自己去指定serialVersionUID。在TestSerialversionUID例子中,没有指定Customer类的serialVersionUID的,那么java编译器会自动给这个class进行一个摘要算法,类似于指纹算法,只要这个文件 多一个空格,得到的UID就会截然不同的,可以保证在这么多类中,这个编号是唯一的。所以,添加了一个字段后,由于没有显指定 serialVersionUID,编译器又为我们生成了一个UID,当然和前面保存在文件中的那个不会一样了,于是就出现了2个序列化版本号不一致的错误。因此,只要我们自己指定了serialVersionUID,就可以在序列化后,去添加一个字段,或者方法,而不会影响到后期的还原,还原后的对象照样可以使用,而且还多了方法或者属性可以用。
下面继续修改Customer类,给Customer指定一个serialVersionUID,修改后的代码如下:
class Customer implements Serializable {
/**
* Customer类中定义的serialVersionUID(序列化版本号)
*/
private static final long serialVersionUID = -5182532647273106745L;
private String name;
private int age; //新添加的sex属性
//private String sex; public Customer(String name, int age) {
this.name = name;
this.age = age;
} /*public Customer(String name, int age,String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}*/ /*
* @MethodName toString
* @Description 重写Object类的toString()方法
* @author xudp
* @return string
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "name=" + name + ", age=" + age;
}
}
代码
重新执行序列化操作,将Customer对象序列化到本地硬盘的Customer.txt文件存储,然后修改Customer类,添加sex属性,修改后的Customer类代码如下:
class Customer implements Serializable {
/**
* Customer类中定义的serialVersionUID(序列化版本号)
*/
private static final long serialVersionUID = -5182532647273106745L;
private String name;
private int age; //新添加的sex属性
private String sex; public Customer(String name, int age) {
this.name = name;
this.age = age;
} public Customer(String name, int age,String sex) {
this.name = name;
this.age = age;
this.sex = sex;
} /*
* @MethodName toString
* @Description 重写Object类的toString()方法
* @author xudp
* @return string
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "name=" + name + ", age=" + age;
}
}
代码
执行反序列操作,这次就可以反序列成功了,如下所示:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANAAAAAqCAIAAABNz0JcAAAEkUlEQVR4nO1bwXHsIAylZrrJ0EAOqYA6fEgL8aQH/wMBC5CEwF7iT/SGSbxYlgR6CHutNd9fn99fnx/vb+GgaMYYeFx/DD3wGF4I/9ZitYaiX2gdvQqeolqthHESFWsKUPPT7KyBBqXXVj0udFDN6KDeMrNxmuAJp03bvU0Jp21qU8Jpm9pKwn28v2nT9rpWEu5YHcaYgVNX1F5XTl0OO+X6Bzy56HymSgmX+gsItckvKQQKuqDg3b5IuJdylFS1GOGavGlGjpJBTfQ6M+aexO0x9vCklyiXzEMmvxjhCkgi2kUIVIPceu8lTDZiFkl9qov3jC1q9iRD+5Ffj3D11FNT3FzKXYSj4tRF5eLsAOG6qMkPRMjOGwi3uajb+t1bt8kVPgIp0tSpoocBqkEoj35kwsPwrBlm+ZDlhGMcYzxpKK8JtzljIsV2b835qRu/xdVi9uGMSOLNC1OhHetBT/GEQx1gAl+sh+ZszCUckdAg80L+s35PZ72NA7LWWn9eAAC1gnNApbU/irdwPlo4860xQTlQYv0eTWV+U8uaicohoyYVb1SyCVRn1wHvbZcSqvOVhNscZBJERkUgtnubjjdXcAIhr7eArJuL8jGxBhV7Urs5wKTdW6g/cT8cQ2NCwsHA139RoKp6I8foaco0r2o6zI+RoXIXt3Dl1wmXp6CMYQjhqgwaNW0upUa3HYnHUHdtgvCWSVfNWS5yDyOJGqIkhW7I3U6mB1ZI0+06+zbdFgLbUmEKAaAJB3BmrOO4i3DMfSBLuIMNOexBIzGQtK4IowLygUjSEkUdyF252tTTxUL8oaHIXiHi59a5ewvu4cCOWmyA4BR4EsnkE88owh2HtzTlMMLxK5Jf1oVMHQM0AOikC/kqPDtMOJRMxYqiaN27XCXAvxaBN/z5DVSA9d6ZyLn86aBMX0h//jzhNiBnfXo8Cf/jbVxtotxrQ28zZvWc1lNGMaw45lVR1OTdE7pN6a8/8hcyXgnFerHgF78MmlPGrFcYQomM3HozSQi15QuQXF0S65KeMfwtwil+HUo4xVQo4RRToYRTTIUSTjEVSjjFVCjhFFOhhFNMxYKESy8yqCqE5wC8ugGu7viLnjWwIOEC9vyV7QMB3lnDmlekvmElYNUixhhrbb3CwNvLrDayp3CyqssEFxDvajG7lUfWFwS7gXCUXYGfovEemcq/SrgjVjlGDsBSkC3OA6jgGCqcRAAWfF6NQtitS+HvJhw5XtTP3vFmhhwU/nNbKlxhsP4HqfI4egsnyRWf1zVldOHtEriBcKhdys/e8eZWmPqrxSgnJ1xWJgdEhgonaxTycrsELhOOsEv5OcSMOjEjbnRkyv8AXYTLNrAG4fjCSQQwYnF75uyShaJJFolkyEMit+jx4n72jrf8/UcC/M3H3qv08SAeGkJUzrLI/ch2B+tcqJIcKJykAcSdy36kU9n9uQK72an3NlgYX25oDEi7hJ994xX+qm2t9HY89muRF32pkf1g7A48/8uXp+FZhHvtyr5vf1o4A70azyKcYnko4RRToYRTTIUSTjEVSjjFVPwDOYdllNxtl40AAAAASUVORK5CYII=" alt="" />
五、serialVersionUID的取值
serialVersionUID的取值是Java运行时环境根据类的内部细节自动生成的。如果对类的源代码作了修改,再重新编译,新生成的类文件的serialVersionUID的取值有可能也会发生变化。
类的serialVersionUID的默认值完全依赖于Java编译器的实现,对于同一个类,用不同的Java编译器编译,有可能会导致不同的
serialVersionUID,也有可能相同。为了提高serialVersionUID的独立性和确定性,强烈建议在一个可序列化类中显示的定义serialVersionUID,为它赋予明确的值。
显式地定义serialVersionUID有两种用途:
1、 在某些场合,希望类的不同版本对序列化兼容,因此需要确保类的不同版本具有相同的serialVersionUID;
2、 在某些场合,不希望类的不同版本对序列化兼容,因此需要确保类的不同版本具有不同的serialVersionUID。
六、控制对象的序列化和反序列化
控制序列化就是有选择的序列化对象,而不是把对象的所以内容都序列化,前篇我们的例子中介绍了transit变量和类变量(static)不被序列化,现在我们还有一种更为灵活的控制对象序列化和反序列方法,可以在序列化过程中储存其他非this对象包含的数据
我们现在再来介绍一个接口 java.io.Externalizable 。当对象实现了这个接口时,就可以灵活的控制它的序列化和反序列过程,这个接口继承了java.io.Serializable
Externalizable 接口定义了两个方法,writerExternal方法在序列化时被调用,可以再该方法中控制序列化内容,readExternal方法在反序列时被调用,可以在该方法中控制反序列的内容
好了,现在我们改写上例的UserInfo
import java.io.*;
import java.util.*; //本程序通过实现Externalizable接口控制对象序列化和反序列
public class UserInfo implements Externalizable {
public String userName;
public String userPass;
public int userAge; public UserInfo(){
} public UserInfo(String username,String userpass,int userage){
this.userName=username;
this.userPass=userpass;
this.userAge=userage;
} //当序列化对象时,该方法自动调用
public void writeExternal(ObjectOutput out) throws IOException{
System.out.println("现在执行序列化方法");
//可以在序列化时写非自身的变量
Date d=new Date();
out.writeObject(d);
//只序列化userName,userPass变量
out.writeObject(userName);
out.writeObject(userPass);
} //当反序列化对象时,该方法自动调用
public void readExternal(ObjectInput in) throws IOException,ClassNotFoundException{
System.out.println("现在执行反序列化方法");
Date d=(Date)in.readObject();
System.out.println(d);
this.userName=(String)in.readObject();
this.userPass=(String)in.readObject();
} public String toString(){
return "用户名: "+this.userName+";密码:"+this.userPass+
";年龄:"+this.userAge;
}
}
代码
改写测试类
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Date;
import java.lang.management.*;
public class Test { //序列化对象到文件
public static void serialize(String fileName){
try
{
//创建一个对象输出流,讲对象输出到文件
ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(fileName)); UserInfo user=new UserInfo("renyanwei","888888",20);
out.writeObject(user); //序列化一个会员对象 out.close();
}
catch (Exception x)
{
System.out.println(x.toString());
} }
//从文件反序列化到对象
public static void deserialize(String fileName){
try
{
//创建一个对象输入流,从文件读取对象
ObjectInputStream in=new ObjectInputStream(new FileInputStream(fileName)); //读取UserInfo对象并调用它的toString()方法
UserInfo user=(UserInfo)(in.readObject());
System.out.println(user.toString()); in.close();
}
catch (Exception x)
{
System.out.println(x.toString());
} } public static void main(String[] args) { serialize("D:\\test.txt");
System.out.println("序列化完毕"); deserialize("D:\\test.txt");
System.out.println("反序列化完毕");
} }
代码
执行结果
现在执行序列化方法
序列化完毕
现在执行反序列化方法
Thu Oct 23 22:18:12 CST 2008
用户名: renyanwei;密码:888888;年龄:0
反序列化完毕
通过一张图来看程序流程
首先,我们在序列化UserInfo对象的时候,由于这个类实现了Externalizable 接口,在writeExternal()方法里定义了哪些属性可以序列化,哪些不可以序列化,所以,对象在经过这里就把规定能被序列化的序列化保存文件,不能序列化的不处理,然后在反序列的时候自动调用readExternal()方法,根据序列顺序挨个读取进行反序列,并自动封装成对象返回,然后在测试类接收,就完成了反序列
推荐阅读 《关于 Java 对象序列化您不知道的 5 件事》 www.ibm.com/developerworks/cn/java/j-5things1/
Java基础知识:序列化和反序列化的更多相关文章
- Java基础知识➣序列化与反序列化(四)
概述 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信息和存储在对象中数据的类型. 将序列化对象写入文件之后,可以从文件 ...
- 【Java基础】序列化与反序列化深入分析
一.前言 复习Java基础知识点的序列化与反序列化过程,整理了如下学习笔记. 二.为什么需要序列化与反序列化 程序运行时,只要需要,对象可以一直存在,并且我们可以随时访问对象的一些状态信息,如果程序终 ...
- JAVA基础之——序列化和反序列化
1 概念 序列化,将java对象转换成字节序列的过程. 反序列化,将字节序列恢复成java对象的过程. 2 为什么要序列化? 2.1 实现数据持久化,当对象创建后,它就会一直在,但是在程序终止时,这个 ...
- JAVA基础之序列化与反序列化
序列化和反序列化: 把对象转化为字节序列的过程称为序列化: 把字节序列恢复为对象的过程称为对象的反序列化: 方法: Java.io.ObjectOutputStream代表对象的输出流,writeOb ...
- java基础知识-序列化/反序列化-gson基础知识
以下内容来之官网翻译,地址 1.Gson依赖 1.1.Gradle/Android dependencies { implementation 'com.google.code.gson:gson:2 ...
- Java基础之序列化对象——反序列化对象(DeserializeObjects)
控制台程序,使用如下代码能读入包含Junk对象的文件: import java.io.*; import java.nio.file.*; class DeserializeObjects { pub ...
- Java对象的序列化与反序列化
序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等.在网络传输过程中,可以是字节或是 ...
- Java对象的序列化和反序列化[转]
Java基础学习总结--Java对象的序列化和反序列化 一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化.把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用 ...
- java基础知识----IO篇
写在前面:本文章基本覆盖了java IO的所有内容.java新IO没有涉及.文章依然以样例为主,由于解说内容的java书非常多了,我觉的学以致用才是真.代码是写出来的,不是看出来的. 最后欢迎大家提出 ...
- Java 基础知识(一)
Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...
随机推荐
- [转]使用eclipse+pydev远程调试OpenStack
作者:张华 发表于:2014-01-17版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 1, ...
- wcf 获取客户端 IP
http://stackoverflow.com/questions/3937773/wcf-security-using-client-ip-address var context = Operat ...
- [转]phonegap 2.9 IOS Xcode 搭建环境
phonegap 2.9 IOS Xcode 搭建环境 一:下载phoneGap2.9和安装Xcode5(目前最新版) 选择2.9是因为3.0以上坑爹版本编译神马的要在有网络情况. 二: 下载ph ...
- Python 正则表达式-OK
Python正则表达式入门 一. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分. 正则表达式是用于处理字符串的强大工具, 拥有自己独特的语法以及一个独立的处理引擎, 效率上 ...
- 利用NTFS权限与虚拟目录,在IIS 6.0的默认FTP站点中做用户隔离。
默认FTP站点为不隔离用户站点,利用NTFS权限设置,达到仅能访问指定目录效果. 是否允许匿名连接 FTP站点主目录:站点范围内有没有用户需要上传,有的话,要勾选“写入”:具体用户使用NTFS还给予写 ...
- (WPF) MVVM: ComboBox Binding, XML 序列化
基本思路还是在View的Xmal里面绑定ViewModel的属性,虽然在View的后台代码中也可以实现binding,但是还是在Xmal里面相对的代码量要少一些. 此例子要实现的效果就是将一个List ...
- smartgit document Rebase
The Rebase command allows you to apply commits from one branch to another. Rebase can be viewed as m ...
- Oracle Erp常用网站
2014-01-01 Created By BaoXinjian
- DBA_Oracle数据库运维监控(案例)
2014-07-27 Created By BaoXinjian
- NeHe OpenGL教程 第四课:旋转
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...