美文网首页
transient关键字作用

transient关键字作用

作者: 多喝水JS | 来源:发表于2018-07-31 10:10 被阅读33次

Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的。

那到底什么时候使用这个关键字呢?

  1. HashMap中的table中存储的值数量是小于数组的大小的(数组扩容的原因),这个在元素越来越多的情况下更为明显。如果使用默认的序列化,那些没有元素的位置也会被存储,就会产生很多不必要的浪费。

  2. 由于 ArrayList 是基于动态数组实现的,所以并不是所有的空间都被使用。因此使用了 transient 修饰,可以防止被自动序列化。

  transient Object[] elementData;

相关文章

  • 不想进行序列化

    对于不想进行序列化的变量,使用transient关键字修饰。 transient关键字的作用是:阻止实例中那些用此...

  • 无标题文章

    # java关键字## 一、transient### transient的作用及使用方法如何将非静态的数据不进行序...

  • 测测你的Java基础

    Let's get started <<< 1)关键字volatile、transient各有什么作用? 2)下面...

  • transient关键字作用

    Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,...

  • 2018-08-30

    java关键字 一、transient transient的作用及使用方法 如何将非静态的数据不进行序列化?用tr...

  • java程序员应该具备的技能

    1、基本语法 这包括static、final、transient等关键字的作用,foreach循环的原理等等。今天...

  • 2018年面试Java需要学习到的主流知识有哪些?(精选)

    1、基本语法 这包括static、final、transient等关键字的作用,foreach循环的原理等等。今天...

  • 中级java开发要懂的

    1、基本语法 这包括static、final、transient等关键字的作用,foreach循环的原理等等。今天...

  • Java基础题

    transient和volatile是java关键字吗? transient是变量修饰符。标记为transient...

  • Effective Java 序列化

    AtomicReference transient java 的transient关键字 只需要实现Seriliz...

网友评论

      本文标题:transient关键字作用

      本文链接:https://www.haomeiwen.com/subject/qbecvftx.html