首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Serializable接口中serialVersionUID字段值的作用

    Java原生序列化 Java类通过实现Serializable接口来实现该类对象的序列化,这个接口非常特殊,没有任何方法,只起标识作用。Java序列化保留了对象类的元数据,如类、成员变量、继承类信息等、以及对象数据等,兼容性最好,但不支持跨语言,而且性能一般。 实现Serializable接口的类建议设值serialVersionUID字段值,如果不设置,那么每次运行时,编译器会根据类的内部实现,包括类名、接口名、方法和属性等来自动生成serialVersionUID。如果类的源代码有修改,那么重新编译后的serialVersionUID的取值可能会发生改变。因此实现Serializable接口的类一定要显示的定义serialVersionUID属性值。修改类的时候需要根据兼容性决定是否修改serialVersionUID属性值。 - 如果是兼容升级,请不要修改serialVersionUID属性值,避免反序列化失败(在反序列化未升级的对象时候) - 如果是不兼容升级,需要修改serialVersionUID属性值,避免反序列化混乱(不修改的话, 有可能将未升级的对象反序列化出来) 使用Java原生序列化需要注意,Java反序列化时,不会调用类的无参构造方法,而是调用native方法将成员变量赋值为对应类型的初始值。基于性能以及兼容性考虑,不推荐使用Java原生序列化。

    02

    Ubuntu Linux 环境下配置JDK

    1.下载对应的JDK,这里下载的是jdk-8u102-linux-x64.tar.gz 2.创建目录作为JDK安装目录,这里选择安装位置为:/home/Java/(可自行选择安装路径,之后的配置按照自己的安装路径来)   sudo mkdir /home/Java 3.解压文件带/home/Java/目录下,文件下载的位置是在下载目录下的   cd ~/下载   sudo tar -zxvf jdk-8u102-linux-x64.tar.gz -C /home/Java/ 4.配置系统环境变量   sudo gedit /etc/profile 在最后加入   export JAVA_HOME=/home/Java/jdk1.8.0_102   export JRE_HOME=$JAVA_HOME/jre   export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH   export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 修改完成后保存并关闭,输入以下命令使环境变量生效   source /etc/profile 5.查看安装版本:   java -version 显示      java version "1.8.0_102"   Java(TM) SE Runtime Environment (build 1.8.0_102-b14)   Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode) 如依旧没显示先重启 6.设置默认JDK 查看系统中已有的JDK版本   sudo update-alternatives --config java   sudo update-alternatives --config javac   sudo update-alternatives --config javaws 修改默认JDK(注意替换路径) install后第三个参数 根据自己的路径设置 2000为优先级 可设为其他   sudo update-alternatives --install "/usr/bin/java" "java" "/home/Java/jdk1.8.0_102/bin/java" 2000   sudo update-alternatives --install "/usr/bin/javac" "javac" "/home/Java/jdk1.8.0_102/bin/javac" 2000   sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/home/Java/jdk1.8.0_102/bin/javaws" 2000 设置完成后查看一下   sudo update-alternatives --config java 显示 有 2 个候选项可用于替换 java (提供 /usr/bin/java)。   选择       路径                                          优先级  状态 ------------------------------------------------------------ * 0            /home/Java/jdk1.8.0_102/bin/java                 2000      自动模式   1            /home/Java/jdk1.8.0_102/bin/java                 2000      手动模式   2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      手动模式 要维持当前值[*]请按<回车键>,或者键入选择的编号: 这里可更改默认的JDK,通常选择自动模式那个,也可根据自己的需要进行选择

    02
    领券