理解serialVersionUID是什么?有什么用?如何生成?
import java.io.Serializable;
public class Address implements Serializable{
private static final long serialVersionUID = 1L;
String street;
String country;
public void setStreet(String street){
this.street = street;
}
public void setCountry(String country){
this.country = country;
}
public String getStreet(){
return this.street;
}
public String getCountry(){
return this.country;
}
@Override
public String toString() {
return new StringBuffer(" Street : ")
.append(this.street)
.append(" Country : ")
.append(this.country).toString();
}
}
import java.io.FileOutputStream;
import java.io.ObjectOutputStream; public class WriteObject{ public static void main (String args[]) { Address address = new Address();
address.setStreet("wall street");
address.setCountry("united states"); try{ FileOutputStream fout = new FileOutputStream("c:\\address.ser");
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(address);
oos.close();
System.out.println("Done"); }catch(Exception ex){
ex.printStackTrace();
}
}
}
import java.io.FileInputStream;
import java.io.ObjectInputStream; public class ReadObject{ public static void main (String args[]) { Address address; try{ FileInputStream fin = new FileInputStream("c:\\address.ser");
ObjectInputStream ois = new ObjectInputStream(fin);
address = (Address) ois.readObject();
ois.close(); System.out.println(address); }catch(Exception ex){
ex.printStackTrace();
}
}
}
- http://en.wikipedia.org/wiki/List_of_JVM_implementations
- http://java.sun.com/javase/6/docs/platform/serialization/spec/class.html#4100
- http://stackoverflow.com/questions/419796/explicit-serialversionuid-considered-harmful
- http://en.wikipedia.org/wiki/Serialization#Java
- http://www.javaworld.com/javaworld/jw-02-2006/jw-0227-control.html?page=1
- http://www.javablogging.com/what-is-serialversionuid/
- http://java.dzone.com/articles/dont-ignore-serialversionuid
- http://www.java-forums.org/new-java/8196-serialversionuid.html
理解serialVersionUID是什么?有什么用?如何生成?的更多相关文章
- Java中的SerialVersionUID
Java中的SerialVersionUID 序列化及SergalVersionUID困扰着许多Java开发人员.我经常会看到这样的问题,什么是SerialVersionUID,如果实现了Serial ...
- ADC 转换序列暂时难理解
通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工作当前状态存储生成第一个文件,程序出错的时候理论上都会产生一个co ...
- Java serialVersionUID
1.为什么要使用serialVersionUID (1)对于实现了Serializable接口的类,可以将其序列化输出至磁盘文件中,同时会将其serialVersionUID输出到文件中. (2)然后 ...
- Serializable中的serialVersionUID
有序列化,就必然有反序列化!比如在A端为UserLogin(见上一篇对象序列化)做了序列化,然后在B端进行反序列化. 首先需要,A端和B端都定义有相同的UserLogin类.可是,万一两端的UserL ...
- 6. 从Encoder-Decoder(Seq2Seq)理解Attention的本质
1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...
- 理解Express中间件
阅读目录 一:body-parser中间件 二:cookie-parser中间件 三:express-session 中间件 四:理解使用morgan记录操作日志 回到顶部 一:body-parser ...
- 建模角度理解word embedding及tensorflow实现
http://www.jianshu.com/p/d44ce1e3ec2f 1. 前言 本篇主要介绍关键词的向量表示,也就是大家熟悉的word embedding.自Google 2013 年开源wo ...
- IDEA 自动生成serialVersionUID
场景:刚转到用IDEA,因为需要生成serialVersionUID,并没有自动生成. 转自:http://blog.csdn.net/liuzongl2012/article/details/451 ...
- JAVA动态代理的全面深层理解
Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过 ...
随机推荐
- Centos 7 编译安装mariadb 5.5
一.环境 OS :Linux 3.10.0-693.el7.x86_64 mariadb下载地址: ]# wget https://downloads.mariadb.org/interstitial ...
- IntelliJ IDEA 快捷键(七)
/*方法参数提示*/ ctrl + p /*折叠代码/展开代码*/ ctrl + - / ctrl + + /*快速查找和打开最近使用过的文件*/ ctrl + E /*自动代码片*/ ctrl + ...
- GraphSage:
https://yq.aliyun.com/articles/712465?type=2 讲了最基本的概念: 1.b.常见的欧几里得结构化数据 将数据转换到欧几里得空间中,所得到的数据称为欧几里得结构 ...
- ResultMap(还没细看)
前言 MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而res ...
- 43 树莓派安装pytorch
狗狗 https://www.pytorchtutorial.com/pytorch-c-api-4-cat-dog-classifier-2/ 鲜花分类器 https://www.pytorchtu ...
- Linux学习笔记-第17天 有点赶
第十章开始进度感觉有些快,该加把劲儿了
- appium--python启动appium服务
前戏 前面我们都是在cmd下通过输入appium加端口号来启动服务的,在我们做自动化的时候,我们当然不希望我们手动启动appium服务,而是希望通过脚本自动启动appium服务. 我们可以使用subp ...
- AGC037C Numbers on a Circle(神奇思路)
Atcoder 全是神仙题-- 先变成能不能从 \(b\) 到 \(a\).操作变成一个数减掉旁边两个数. 考虑里面最大的且不和 \(a\) 中相等的那个数.它两边的数此时都不能操作,否则就减到非正数 ...
- python命令行解析函数
sys.argv 在终端运行python 1.py hahah import sys print(sys.argv) # ['1.py', 'hahah'] argparse Python的命令行解析 ...
- python yield from (一)
1. yield from 会抛出iterator中所有的值:而yield只是抛出传进来的值,如果是值,就抛出值,如果是iterator对象,抛出iterator对象 def g1(iterable) ...