`

transient关键字

 
阅读更多

transient 短暂的,临时的

 

java中一个对象只要实现了Serializable接口,这个对象就可以被序列化。但是如果你想要在序列化过程中规避掉某个成员变量,只要在该变量前添加关键字transient就行(对静态变量无效)

测试代码如下:

public class TransientTest
{
    public static void main(String[] args) throws IOException, ClassNotFoundException
    {
        A a = new A(2, "a");
        System.out.println(a);
        try
        {
            FileOutputStream fos = new FileOutputStream("d://mm.txt");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(a);
            
            FileInputStream fis = new FileInputStream("d://mm.txt");
            ObjectInputStream ois = new ObjectInputStream(fis);
            A newA = (A) ois.readObject();
            System.out.println(newA);
        }
        catch (FileNotFoundException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

class A implements Serializable
{
    transient static int num = 5;
    int a;
    transient String b;
    public A(int a,String b)
    {
        this.a = a;
        this.b = b;
    }
    @Override
    public String toString()
    {
        return "a = " + a +"; b = " + b +"; num = " + num;
    } 
}

 运行后控制台打印:

a = 2; b = a; num = 5

a = 2; b = null; num = 5

 

分享到:
评论

相关推荐

    Java_transient关键字

    ### Java中的transient关键字详解 在Java编程语言中,`transient`关键字是一个非常重要的概念,主要用于对象序列化过程中对特定变量的控制。当一个类实现了`Serializable`接口时,其对象可以被序列化为一个持久化的...

    Java中的transient关键字.doc

    Java 中的 transient 关键字 在 Java 编程中,transient 关键字是一个非常重要的概念,它用来说明一个属性是临时的,不会被序列化。在 Java 中,序列化是指将对象的状态信息转换为字节流的过程,以便于对象在网络上...

    Java之transient关键字.Java

    在给定的文件列表中,除了与`transient`关键字相关的`Java之transient关键字.md`文件,其他如`javaweb\Tomcat.md`、`javaweb\Cookie、Session、localStorage、sessionStorage区别和用法.md`等文件可能涉及Web开发中...

    深入理解Java虚拟机-Java内存区域透彻分析(序列化、反序列化概念及其使用场景+实现序列化的方式+transient关键字)

    深入理解Java虚拟机-Java内存区域透彻分析(序列化、反序列化概念及其使用场景+实现序列化的方式+transient关键字) Java序列化和反序列化是Java虚拟机中的一种重要机制,它们可以将Java对象转换为二进制数据,然后...

    Java transient关键字原理解析

    Java transient关键字原理解析 Java 中的 transient 关键字是一个重要的概念,它被用来表示变量将不被序列化处理。那么在理解 transient 关键字之前,我们先了解下什么是序列化。 序列化是对象进行持久化处理,也...

    Java transient关键字使用小记

    在Java编程语言中,`transient`关键字是一个非常重要的概念,它与对象的序列化过程紧密相关。序列化是将一个对象的状态转换为字节流,以便存储或在网络中传输。当一个类实现了`Serializable`接口,该类的对象就可以...

    Java transient关键字与序列化操作实例详解

    Java transient关键字与序列化操作实例详解 Java语言中的transient关键字是用来修饰变量的,表明该变量不会被Java虚拟机(JVM)序列化,即不会被写入到二进制流中。序列化是Java语言中的一种机制,用于将对象转换为...

    java中transient关键字用法分析

    主要介绍了java中transient关键字用法,以实例形式分析了java中transient关键字的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    Java transient 关键字详解及实例代码

    Java中的`transient`关键字是用于标记类的成员变量,表明该变量不应该参与序列化过程。当一个类实现了`Serializable`接口,其对象可以被序列化,即将对象的状态转换为字节流,以便存储或在网络中传输。序列化是Java...

    Java中的transient关键字介绍

    在Java编程语言中,`transient`关键字是一个非常重要的概念,它与对象的序列化密切相关。序列化是指将对象的状态转换为字节流,以便存储或在网络上传输。当一个类实现了`Serializable`接口,它的实例就可以被序列化...

    java关键字transient

    **transient关键字的作用** `transient`关键字用于标记一个实例变量,表示这个变量不应该作为对象状态的一部分进行序列化。当一个对象被序列化时,`transient`修饰的变量会被忽略,它们的值不会包含在序列化的表示中...

    Java关键字Transient与串行化

    #### Transient关键字解析 在Java编程语言中,`transient`是一个非常重要的关键字,主要用于对象的串行化过程中。它用于标记对象中的某些字段,使得这些字段不会被串行化到持久存储介质中。这对于保护敏感数据或...

    Java关键字—-transient

    本篇文章序列化、反序列化用的类是同一个类,可以通过注释main中1然后修改Stu类实现有无transient关键字修饰、serialVersionUID是否不同,得到以下结果: 1、serialVersionUID的数值大小不会影响序列化后的字节数...

    javafaq javafaq javafaq

    【Java编程:transient关键字详解】 在Java编程中,`transient`关键字有着特殊的作用,它主要用于处理对象的序列化过程。序列化是Java提供的一种将对象的状态转换为字节流,以便存储到磁盘或者在网络中传输的技术。...

    深入探索Java对象的序列化

    深入探索Java对象的序列化 对象序列化就是把对象写入到输出流中,用来存储或者传输。...实现了序列化接口的类,如果其成员不需要序列化进去,则使用transient关键字进行修饰。 下面给出个例子:

    java 中序列化NotSerializableException问题解决办法

    Java 中序列化 NotSerializableException 问题解决办法 Java 中序列化 NotSerializableException 问题是 ...我们还讨论了什么时候需要标记 transient,以及如何正确地使用 transient 关键字。希望本文能够帮助到大家。

Global site tag (gtag.js) - Google Analytics