`

transient的作用

阅读更多
我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。
    然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。
总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。
1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。
2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。
3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。
分享到:
评论

相关推荐

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

    1. **transient的作用**: - `transient`关键字用于声明一个变量,表示该变量的值不会被序列化。换句话说,当一个对象被序列化时,带有`transient`修饰的变量将不会被包含在序列化的表示中。 - 这通常用于处理那些...

    Java_transient关键字

    #### transient关键字的作用 `transient`关键字用于修饰那些不希望在序列化过程中保存的成员变量。当一个对象被序列化时,带有`transient`关键字的成员变量将不会被包含在序列化流中,这意味着当对象被反序列化时,...

    Java中的transient关键字.doc

    transient 关键字的作用是告知 Java virtual machine(JVM)在序列化对象时,不要包括被标记为 transient 的属性。这意味着,当一个对象被序列化时,被标记为 transient 的属性不会被写入到输出流中,从而减少了序列...

    java关键字transient

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

    Java transient关键字使用小记

    然而,并非所有的类属性都需要被序列化,这就是`transient`关键字发挥作用的地方。 1. `transient`关键字的作用 `transient`关键字用于标记类的成员变量,声明了`transient`的变量不会被包含在序列化过程中。这...

    EMTDC Transient Analysis for PSCAD Power System Simulation

    EMTDC,即电磁暂态计算装置(Electromagnetic Transient DC),它是一种强大的电磁暂态仿真引擎,自20世纪70年代中期以来一直在不断演进。 EMTDC的起源可以追溯到1969年赫尔曼·多姆尔(Hermann Dommel)博士的经典...

    Rocky DEM Workshop 15-Transient Structural Part B_Mechanical

    这种DEM和FEA的耦合方法在处理涉及颗粒物质和结构相互作用的问题时非常有用,如矿山、化工、建筑和材料处理等行业。 总结来说,"Rocky DEM Workshop 15"的重点在于利用Ansys Workbench进行跨软件的耦合模拟,将...

    Java关键字Transient与串行化

    在Java编程语言中,`transient`...理解`transient`的工作原理及其在序列化过程中的作用,对于任何进行Java开发的程序员来说都是至关重要的技能。通过合理使用`transient`关键字,可以显著提高应用程序的安全性和效率。

    Java之transient关键字.Java

    **transient关键字的作用** `transient`关键字告诉Java编译器,该变量不应该作为持久状态的一部分进行序列化。当一个对象被序列化时,所有非`transient`和非`static`的字段都将被包含在序列化的表示中。然而,如果...

    8_Field_Data_Coupling_Transient_transient_EDEM瞬态流场耦合_edem体积力_EDE

    标题中的“8_Field_Data_Coupling_Transient_transient_EDEM瞬态流场耦合_edem体积力_EDE”指的是一个关于EDEM(Eulerian Discrete Element Method)软件中实现瞬态流场耦合的特定教程或案例研究。EDEM是一种离散元...

    Java transient关键字原理解析

    通过下面这个例子应该能够解释 transient 关键字的作用: public class NameStore implements Serializable { private String firstName; private transient String middleName; private String lastName; ...

    foc.rar_foc_transient_vector control

    描述中提到的"vector control indu motor use to improve the transient response of motor"进一步强调了FOC在改善电机瞬态响应上的作用。瞬态响应是指电机在受到负载变化或其他干扰时,系统从一个稳定状态过渡到另...

    Rocky DEM Workshop 15-Transient Structural Part A_

    《Rocky DEM Workshop 15-Transient Structural Part A:Rocky的设置与处理(Workbench)》 ...这将有助于你在评估和优化结构性能方面的能力提升,特别是在处理涉及颗粒流动和结构相互作用的复杂问题时。

    详解ASP.NET Core 中的框架级依赖注入

    Transient作用域意味着每当需要时都会创建新的实例;而Scoped作用域则意味着在每个请求中,只创建一个实例。 文章中提到的PageContext和Settings类就是依赖注入的例子。PageContext类用于存储页面标题等上下文信息...

    浅谈.net core 注入中的三种模式:Singleton、Scoped 和 Transient

    在.NET Core中,我们可以利用DI来管理服务的生命周期,而服务的生命周期主要由三种模式决定:Singleton、Scoped和Transient。下面将详细介绍这三种模式。 1. Singleton(单例模式) Singleton模式意味着在整个应用...

    performamance of transient tempertureature in hot spot ignition

    首先,标题“performamance of transient temperature in hot spot ignition”指出了研究的主题是热点起爆过程中瞬态温度的影响。热点起爆理论是爆炸学和燃烧理论中的一个重要部分,它研究在爆炸物质内部由于某种...

    Rocky 2022 R1_Workshop 15 – Transient Structural.rar

    Rocky是一款强大的离散元素方法(DEM)软件,用于模拟颗粒物质和结构之间的相互作用,特别适用于处理颗粒、粉末、土壤、岩石等材料在动态条件下的行为。在这个Workshop 15中,用户将学习如何设置和运行瞬态结构分析...

Global site tag (gtag.js) - Google Analytics