-
serialversionuid如何生成 java中serialversionuid生成
- 作者:陈伟芷 分类:电脑技术 发布时间:2023-01-18 20:31:00
serialVersionUID用作Serializable类中的版本控件。如果您没有显式声明serialVersionUID,JVM将根据您的Serializable类的各个方面自动为您执行此操作,那么serialVersionUID如何生成?在程序开发的过程中经常需要把类序列化,不过在类系列化之前需要生成一个serialVersionUID,我们可以通过三种方法得到serialVersionUID,具体过程请看下文。 serialVersionUID适用于java序列化机制。简单来说,JAVA序列化的机制是通过判断类的serialVersionUID来验证的版本一致的。在进行反序列化时,...
serialVersionUID用作Serializable类中的版本控件。如果您没有显式声明serialVersionUID,JVM将根据您的Serializable类的各个方面自动为您执行此操作,那么serialVersionUID如何生成?在程序开发的过程中经常需要把类序列化,不过在类系列化之前需要生成一个serialVersionUID,我们可以通过三种方法得到serialVersionUID,具体过程请看下文。
serialVersionUID适用于java序列化机制。简单来说,JAVA序列化的机制是通过判断类的serialVersionUID来验证的版本一致的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID于本地相应实体类的serialVersionUID进行比较。如果相同说明是一致的,可以进行反序列化,否则会出现反序列化版本一致的异常,即是InvalidCastException。
生成serialVersionUID之前需要序列化类
1、这里我用的是MyEclipse工具,先打开MyEclipse,然后点击导航上面的【File】菜单,然后选择New,在点击Java Project,来新建个测试工程,如下图所示。
2、新建好工程后,选中新建的工程名称,然后点击鼠标右键,选择【New】,然后在右侧选择点击Class,来创建生成serialVersionUID的类,如下图所示。
3、新建的类一定要实现Serializable这个序列化类,只有继续这个类后,才能生成serialVersionUID。继承后,在我们的开发工具里就会有黄色提醒,代码如下:
import java.io.Serializable;
public class SerialVersionUID implements Serializable {
private String name = "jingyan";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
一、生成默认的serialVersionUID
1、在上面创建好继承序列化接口的类后,我们直接点击左侧的黄色亮点,然后在弹出菜单里,点击【Add default serial version ID】这个选项,就可以自动生成serialVersionUID了,如下图所示。
2、点击后,开发工具就会给我们自动生成了serialVersionUID。
private static final long serialVersionUID = 1L;注意:这个自动生成后的1L是不能自己修改的。
二、生成串行serialVersionUID
1、这种方法也是直接点击左侧的黄色亮点,然后在弹出菜单里,点击【Add generated serial version ID】这个选项,就可以自动生成serialVersionUID了,如下图所示。
2、点击后,开发工具就会给我们自动生成了一个serialVersionUID。
private static final long serialVersionUID = 5573832826736049153L;注意:这个自动生成后的一窜数字是不能自己修改的。
三、注解生成serialVersionUID
这种方法也很简单,也是直接点击左侧的黄色亮点,然后在弹出菜单里,点击【Add @SuppressWarnings serial to serialVersionUID】这个选项,这样就可以了,如下图所示。
点击后,开发工具就会并没有给我们像上面一样生成一窜数字,而是在类名上面加了个@SuppressWarnings(“serial”)。这样就实现了serialVersionUID,如下图所示。
SUN强烈建议开发人员声明serialVersionUID以避免上面列出的不同JVM问题,但我建议您应该了解什么是序列化,serialVersionUID如何实现版本控制以及您的类需要使用序列化的原因。了解serialVersionUID概念优于任何推荐的盲目。
猜您喜欢
- 如何通过代理IP加强您的密码安全防护..2024-04-25
- 如何解决笔记本小键盘失灵,简单一招..2024-04-07
- 如何轻松使用alook看百度网盘视频,一..2024-04-07
- Edge浏览器提示:文件类型危险,如何..2024-04-07
- 如何设置Edge浏览器主页,让你的浏览..2024-04-05
- 如何玩转绝对值符号?这个技巧让你的..2024-04-05
相关推荐
- 台式机电脑显卡怎么看..2021-02-12
- 迅雷磁力链接前缀是什么..2023-01-16
- 电脑无法关机怎么办?电脑点了关机后..2021-02-08
- 投影机无法播放视频的解决方法 投影..2023-10-12
- qq聊天记录删除了怎么恢复十六种方法..2021-02-25
- 重设Win7网络:找回丢失的网络连接..2023-12-19