java transient关键字作用,使用场景。

原创 2016年08月31日 15:31:10

transient的作用及使用方法,官方解释为:

Variables may be marked transient to indicate that they are not part of the persistent state of an object.


我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。

然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。

总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java-transient总结

transient有“临时的”,"短暂的"含义,我们了解过Serializable,Java序列化,当对某些变量我们不想对它进行序列化的时候就可以将此变量设置为transient,transient是...

Java transient关键字的作用及使用方法

refs: http://www.cnblogs.com/lanxuezaipiao/p/3369962.html 1. transient的作用及使用方法       ...

关于hibernate中@Transient注解使用的一点心得

转(例): @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.  如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注...

Hibernate @Transient : 标识不和数据库字段进行映射的临时属性

一、问题的引出:

简述serializable和transient关键字作用

一、序列化使用场景 对象的序列化:目的:将一个具体的对象进行持久化,写入到硬盘上。(注意:静态数据不能被序列化,因为静态数据不在堆内存中,而是在静态方法区中) Serializable:用于启动对象...

JAXB的@XmlAccessorType和@XmlTransient

如果JAXB将一个类绑定到了XML,那么默认地,所有的public成员将会被绑定。比如,公共的getter和setter方法对,或者公共的field。任何protected,package-visib...

JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML***

一.Jaxb处理java对象和xml之间转换常用的annotation有: @XmlType@XmlElement@XmlRootElement@XmlAttribute@XmlAccessor...

@Transient 不起作用!

原因: Hibernate 3 - @Transient 必须写在 get 部分上面 package ... ... ...; import ... ... ... @Entity @...

Spark-SparkSQL深入学习系列七(转自OopsOutOfMemory)

/** Spark SQL源码分析系列文章*/   接上一篇文章Spark SQL Catalyst源码分析之Physical Plan,本文将介绍Physical Plan的toRDD的具...

Java中的transient关键字

关键字介绍 一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,可以不必关系具体序列化的过程,只要这个类实现了Serilizable接...
  • lfsf802
  • lfsf802
  • 2015年01月28日 21:18
  • 11845
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java transient关键字作用,使用场景。
举报原因:
原因补充:

(最多只允许输入30个字)