首页 > 试题广场 >

transient 变量和下面哪一项有关?

[单选题]
transient 变量和下面哪一项有关?   
  • Cloneable
  • Serializable
  • Runnable
  • Comparable
和序列化有关,这是一个空接口,起标记作用,具体的序列化由ObjectOutputStream和ObjectInputStream完成。transient修饰的变量不能被序列化,static变量不管加没加transient都不可以被序列化
发表于 2019-08-21 11:58:45 回复(23)
通常一个类实现序列化方式是实现序列化接口 Serializable

序列化的作用:把数据长久的保存在磁盘中,磁盘和内存是不同的,内存一般在程序运行时占用,数据保存周期短,随程序结束而结束,磁盘可以长久保存数据

transient关键字的作用,在已实现序列化的类中,有的变量不需要保存在磁盘中,就要transient关键字修饰,如银行卡密码等,就这个作用------在已序列化的类中使变量不序列化
发表于 2019-11-30 14:15:20 回复(8)
java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。
发表于 2019-11-26 20:49:16 回复(3)
当对象被序列化时(写入字节序列到目标文件)时,transient阻止实例中那些用此关键字声明的变量持久化;当对象被反序列化时(从源文件读取字节序列进行重构),这样的实例变量值不会被持久化和恢复
发表于 2019-05-28 11:05:50 回复(0)
Cloneable是标记型的接口,它们内部都没有方法和属性,实现 Cloneable来表示该对象能被克隆,能使用Object.clone()方法。如果没有实现 Cloneable的类对象调用clone()就会抛出CloneNotSupportedException。 Serializable是java.io包中定义的、用于实现Java类的序列化操作而提供的一个语义级别的接口。Serializable序列化接口没有任何方法或者字段,只是用于标识可序列化的语义。实现了Serializable接口的类可以被ObjectOutputStream转换为字节流,同时也可以通过ObjectInputStream再将其解析为对象。例如,我们可以将序列化对象写入文件后,再次从文件中读取它并反序列化成对象,也就是说,可以使用表示对象及其数据的类型信息和字节在内存中重新创建对象。 Java多线程可以实现并发处理的任务,恰当地使用多线程技术可以有效提高程序的运行效率,降低用户等待时间。基于实现Runnable接口方式可以实现Java多线程。 Comparable接口可以强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元素,无需指定比较器。
发表于 2020-05-03 22:57:49 回复(0)
`Serializable`表示序列化,`static`和`transient`修饰的对象不能被序列化。
编辑于 2022-05-13 21:42:02 回复(0)
序列化
发表于 2018-12-21 17:00:31 回复(0)
怎么CopyOnWriteArrayList类下也用到transient修饰
发表于 2020-09-10 15:51:46 回复(0)
静态方法不依赖对象有没有创建 空对象也不会影响静态方法的调用
发表于 2025-05-06 19:46:06 回复(0)
transient的作用是实现序列化的类中使得变量不进行序列化!
编辑于 2024-02-12 18:48:26 回复(0)

Transient变量与B选项Serializable有关。

在Java中,当一个类实现了Serializable接口时,它的对象可以被序列化和反序列化。可序列化的类可以通过网络进行传输,或者将对象保存到文件中。然而,有时候在一个可序列化的类中,我们可能有一些不想序列化的变量,这时就可以使用关键字"transient"来修饰这些变量。

transient关键字用于告诉Java虚拟机,当序列化对象时,忽略被修饰的变量。这可以用于标记敏感信息或不需要持久化的临时数据。因此,transient变量与Serializable接口相关联,而B选项为Serializable,所以答案是B。

发表于 2023-06-12 19:37:00 回复(0)

transient 变量与B. Serializable 相关。

transient 关键字用于修饰类的成员变量,表示该变量不会被序列化。当一个对象被序列化时,transient 变量的值不会被保存。因此,transient 变量只有在对象的生命周期内才有意义,而不是在序列化和反序列化过程中。

Serializable 接口是 Java 中的一个标记接口,用于指示一个类可以被序列化。如果一个类实现了 Serializable 接口,那么该类的对象可以被序列化并在网络上传输或者保存到磁盘上。在序列化过程中,transient 变量将被忽略,因为它们不会被保存。

发表于 2023-04-22 15:00:42 回复(0)
transient修饰的变量不能被序列化,static变量不管加没加transient都不可以被序列化
发表于 2022-10-14 23:15:25 回复(0)
transient关键字修饰的变量不会被序列化保存。
发表于 2022-08-04 15:37:30 回复(0)
Mark 和序列化有关,这是一个空接口,起标记作用,具体的序列化由ObjectOutputStream和ObjectInputStream完成。transient修饰的变量不能被序列化,static变量不管加没加transient都不可以被序列化
发表于 2021-06-20 00:08:26 回复(0)
transient的作用是在实现序列化的类中使变量不进行序列化。
发表于 2021-02-24 22:38:39 回复(0)