×

transient是什么意思

transient是什么意思(java中的关键字transient是什么意思)

admin admin 发表于2024-09-11 11:38:15 浏览7 评论0

抢沙发发表评论

大家好,如果您还对transient是什么意思不太了解,没有关系,今天就由本站为大家分享transient是什么意思的知识,包括java中的关键字transient是什么意思的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

java中的关键字transient是什么意思

使用transient修饰符来标识一个成员变量在序列化子系统中应被忽略。transient:使用对象:字段介绍:字段不是对象持久状态的一部分,不应该把字段和对象一起串起。在JPA实体中,所有未使用Transient注释(由JPA定义)进行注释的非瞬态字段都是持久化字段。“持久化”意味着字段被映射到数据库中的列。请注意,Patient类中的一些持久化字段没有注释。这是由于JPA定义的默认值(如默认的列名称)对于这些字段来说是正确的。如果字段名称与其映射的数据库列名称不同,则必须使用Column注释来为数据库列指定一个不同的列名称。

transient在java中的作用

  java有个特点就是序列化,简单地来说就是可以将这个类存储在物理空间(当然还是以文件的形式存在),那么当你从本地还原这个文件时,你可以将它转换为它本身。这可以极大地方便网络上的一些操作,但同时,因为涉及到安全问题,所以并不希望把类里面所有的东西都能存储(因为那样,别人可以通过序列化知道类里面的内容),那么我们就可以用上transient这个关键字,它的意思是临时的,即不会随类一起序列化到本地,所以当还原后,这个关键字定义的变量也就不再存在。

  通常,我们写的程序都要求特定信息能持久存在或保存到磁盘上,以供一个程序使用或用在同一个程序的另一次运行上.这种持久性可以通过几种方式来实现,包括写到数据库中或是利用JAVA为对象序列化提供的支持.不管我们选用什么方法,类实例的持久性都是通过保存类的域的状态来完成的,保存这些状态,以便以后可以对它们进行访问或使用它们来创建相同的实例.然而,有可能并不是所有的域都需要被保存起来.当一个实例被持久化时,其内部的一些域却不需要持久化,则可以用trainsient修饰符告诉编译器指定的域不需要被持久保存.

  首先,让我们看一些Java serialization的代码:

public class LoggingInfo implements java.io.Serializable  {      private Date loggingDate = new Date();          private String uid;      private transient String pwd;           LoggingInfo(String user, String password){          uid = user;          pwd = password;          }      public String toString(){          String password=null;                  if(pwd == null){              password = "NOT SET";          }else{              password = pwd;}          return "logon info: \n   " + "user: " + uid +              "\n   logging date : " + loggingDate.toString() + "\n   password: " + password;          }  }

现在我们创建一个这个类的实例,并且串行化(serialize)它 ,然后将这个串行化对象写入磁盘。 

LoggingInfo logInfo = new LoggingInfo("MIKE", "MECHANICS");  System.out.println(logInfo.toString());  try{      ObjectOutputStream o = new ObjectOutputStream(                     new FileOutputStream("logInfo.out"));         o.writeObject(logInfo);         o.close();  }catch(Exception e)     {//deal with exception}  To read the object back, we can write   try  {      ObjectInputStream in =new ObjectInputStream(    new FileInputStream("logInfo.out"));         LoggingInfo logInfo = (LoggingInfo)in.readObject();         System.out.println(logInfo.toString());  }  catch(Exception e)     {//deal with exception}

  如果我们运行这段代码,我们会注意到从磁盘中读回(read——back (de-serializing))的对象打印password为"NOT SET"。这是当我们定义pwd域为transient时,所期望的正确结果。 现在,让我们来看一下粗心对待transient域可能引起的潜在问题。假设我们修改了类定义,提供给transient域一个默认值, 代码如下:

public class GuestLoggingInfo implements java.io.Serializable  {      private Date loggingDate = new Date();          private String uid;      private transient String pwd;           GuestLoggingInfo(){          uid = "guest";                  pwd = "guest";          }      public String toString() {          //same as above           }  }

  现在,如果我们穿行化GuestLoggingInfo的一个实例,将它写入磁盘,并且再将它从磁盘中读出,我们仍然看到读回的对象打印password 为 "NOT SET"。  当从磁盘中读出某个类的实例时,实际上并不会执行这个类的构造函数, 而是载入了一个该类对象的持久化状态,并将这个状态赋值给该类的另一个对象。

系统动力学频域里面transient是什么意思

希望回答能帮助到你:Transient可翻译为瞬态、瞬变可参考下句:A transient phenomenon or property, especially a transient electric current.瞬变现象一种瞬间变化的现象或性质,尤指瞬态电流

注解transient是什么意思

java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。 Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。

transient和transitory的区别

  1. 单词的释义

    transient 英adj.     短暂的;转瞬即逝的;临时的n.     临时旅客;瞬变现象;候鸟

    transitory 英adj.     不持续的;短暂的,转瞬即逝的;朝露

  2. 区别

    两者都表示暂时的,短暂的,从意义上区别不大,但是前者侧重于短暂的,后者更侧重于不持续的

    前者还有名词的含义,表示临时旅客,候鸟的意思,后者只做形容词

    Their turmoil may be transient.他们的混乱也许是短暂的。

    Many of the drags on first-quarter output are transitory.第一季度生产的很多减缓是暂时的。

transient是什么意思

transient英 adj. 短暂的;路过的n. 瞬变现象;过往旅客;候鸟It is transient in the sense that it exists only during the running of the process. 它仅在流程运行的过程中存在,从这个角度来讲,它是瞬态 的。

average transient是什么意思

average :平均的,平均transient :短暂的。直译:平均瞬态,短暂的平均但是感觉好像不大合适。可能需要因文而议吧。

以上就是我们为大家找到的有关“transient是什么意思(java中的关键字transient是什么意思)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。