@SuppressWarnings("serial")与private static final long serialVersionUID = 1L的差异

@SuppressWarnings("serial")与private static final long serialVersionUID = 1L的区别
@SuppressWarnings("serial")指的是关闭类或方法级别的编译器警告

private static final long serialVersionUID = 1L;对某些对象进行序列化,让它们离开内存空间,入住物理硬盘

详细如下:



J2SE 提供的一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。

常使用 @SuppressWarnings({"unchecked","serial"})和@SuppressWarnings("serial")



@SuppressWarnings("serial")指的是关闭类或方法级别的编译器警告

serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告

警告定义如下:

deprecation 使用了不赞成使用的类或方法时的警告
unchecked 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型。
fallthrough 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告。
path 在类路径、源文件路径等中有不存在的路径时的警告。 
serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告。 
finally 任何 finally 子句不能正常完成时的警告。
all 关于以上所有情况的警告。





private static final long serialVersionUID = 1L;

序列化就是为解决这种问题的,保证数据传输的稳定性,(当然序列化不止这一种用途),Model层的序列化主要是把实体类序列化到本地,这样客户端一旦访问数据库,(即数据)就被序列化到本地了,
model是一个在内存中存储和传输数据的对象,
序列化后方便远程传输和硬盘保存,如果你有这个需求的话,