本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:

what does the keyword"transient" means in java?

我在Java中阅读了关于EDCOX1×0的关键字。我理解的是什么?它被用于田野。如果声明transient关键字,该字段将不会序列化。可序列化何时发生在Java的字段中?.如果不扩展Serializable接口,会发生什么情况?如果我说错了请纠正我。这个问题可能是重复的。

坎南

因此,您不必搜索,只需添加免责声明"此问题可能重复。"

他知道术语瞬态,但他想再次确认"如果类不扩展可序列化,那么瞬态就没有任何意义"。这一事实在任何地方都没有明确提及。+ 1

我在Java中搜索了瞬态,并阅读了关于StAcExpLoad中的瞬态问题。对不起,我看完后不清楚。

@我就是这么说的,支持你的问题,甚至反对它。

您可以将其用于要从序列化中排除的字段。序列化仅适用于类层次结构中的类或类实现接口的类。例如,java.lang.Throwable实现java.io.Serializable,因此所有错误和异常都继承该标记接口。

当您希望将对象从Java堆转移到平面文件或网络上时,需要进行序列化;基本上,每当对象需要从JVM中取出时,都需要以某种方式存储,以便可以重新创建。

因此,如果在序列化之后再次创建对象时,您认为不需要填充任何变量,那么您可以将其声明为瞬态变量。例如物体上的温度。我们知道,如果我们以任何方式重新创建对象,那么当前的温度没有任何意义,那么为什么要在序列化过程中对其进行序列化。

只有在我扩展Serializable时才需要,对吗?。用于将对象存储在文件或网络中供以后使用。

@是的,你是对的。

序列化对象时,使用ObjectOutputStream来"写下来",使用ObjectInputStream来"读回来"。

通常,Java实现的默认行为对于串行化的许多"常用"来说是足够好的。transient关键字告诉JVM您不希望它保存(或恢复)变量的值。在处理transient变量时应该格外小心:在还原序列化实例之后,这些变量可能为空或具有不一致的值。最好将添加到可序列化类中

private void writeObject(java.io.ObjectOutputStream out) throws IOException{

out.defaultWriteObject();

}

private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException{

in.defaultReadObject();

//here do something to re-initialize transient variables

}

通过这种方式,您可以为所有声明的瞬态插入一个特殊的处理。(请记住,只有在第一次使用可序列化类的构造函数时才调用它,而不是在从ObjectInputStream中读取对象时调用它)

在任何其他不涉及序列化的上下文中,transient并不意味着什么。

java transient 应用场景_关于java:transient关键字的用途是什么以及何时使用它?...相关推荐

  1. java nashorn使用场景_优化Java调用Nashorn引擎的性能

    之前的项目里面大量使用了Nashorn引擎,目的是很多需要动态执行的代码放到了JavaScript里面,这样在用户那边比较好调试.但是因为性能的问题遇到了几个坑,最后经过一段时间,最终解决了,形成了这 ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. java有几大对象_一个 Java 对象到底有多大?

    阅读本文大概需要 2.8 分钟. 出处:http://u6.gg/swLPg 编写 Java 代码的时候,大多数情况下,我们很少关注一个 Java 对象究竟有多大(占据多少内存),更多的是关注业务与逻 ...

  4. 滴滴java开发面试题_滴滴java开发工程师面试问题解答(第一回)

    有位同学写了一个滴滴面试拿offer的经历,据说还面了滴滴的CTO,我就好奇,这CTO面又能是个啥水平呢?对他在文章中提到的部分问题做个解答吧. 原文请见滴滴CTO五轮面试真是太刺激了,Java高级工 ...

  5. java程序设计模拟题_《Java程序设计》东师模拟题题目及答案

    <Java程序设计>东师模拟题题目及答案 2020-08-30 09:08:37 931 有学员问关于<Java程序设计>东师模拟题题目及答案的题目的参考答案和解析,具体如下: ...

  6. java是什么格式_是java格式

    错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...

  7. java ee开发环境_设置Java EE 6开发环境

    java ee开发环境 本教程简要说明了如何设置典型的环境来开发基于Java EE 6的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. ...

  8. Java并发编程实战_福州java编程实战培训班排名

    如何选择福州java培训中心? 在福州,如果想迅速掌握java开发,参加福州java培训班无疑是一种非常有效的方式.但是,市场上有这么多的java培训机构,我们在选择的时候难免会眼花缭乱.福州java ...

  9. java runnable线程锁_多线程 java 同步 、锁 、 synchronized 、 Thread 、 Runnable

    线程 1 线程概述 1.1 什么是线程 v  线程是程序执行的一条路径, 一个进程中可以包含多条线程 v  一个应用程序可以理解成就是一个进程 v  多线程并发执行可以提高程序的效率, 可以同时完成多 ...

最新文章

  1. 最后9个名额丨知识图谱理论与实战(线下集训)
  2. 【LeetCode】LeetCode之跳跃游戏——动态规划+贪心算法
  3. Android之利用EventBus进行数据传递
  4. 【渝粤题库】国家开放大学2021春3620矿井火灾防治题目
  5. 神经网络 - 用单层感知器实现多个神经元的分类 - (Matlab建模)
  6. lda数学八卦_【技术博客】文本挖掘之LDA主题模型
  7. UGUI 屏幕适配 导致 BoxCollider无效 解决记录
  8. C++虚调用及其调用的具体形式
  9. mysql中CONCAT值为空的问题解决办法
  10. C 语言 —— ! 和 ~(感叹号和波浪号)
  11. Exp5 MSF基础应用 ——20164316张子遥
  12. js常用正则表达式(经典)
  13. Oracle数据库基础知识_数值类型及函数
  14. spring-第十八篇之spring AOP基于XML配置文件的管理方式
  15. UOS Deepin Linux 系统引导丢失修复
  16. 搜索引擎整体结构图以及描述
  17. 小猪短租网requests库使用
  18. 51单片机 外部中断
  19. 又一家边缘计算公司融资啦!!!
  20. python程序文件扩展名主要是什么_python程序文件扩展名知识点详解

热门文章

  1. 【转载】通往性能优化的天堂-地狱 JOIN方法说明
  2. mysql 主从同步 阻塞_如何解决主从数据库同步延迟问题?
  3. Python统计Excel文件中超市营业额明细数据
  4. 原神光环助手下的算什么服务器,原神光环助手app
  5. python怎么命名未知数_Python4要来了?快来看看Python之父怎么说
  6. leetcode_150. 逆波兰表达式求值
  7. linux安装gtk命令,Ubuntu 下安装 GTK2.0
  8. PAT: gets’ was not declared in this scope gets(s)
  9. 织梦在哪写html,织梦dedecms模板文件不支持html的解决方法
  10. c语言整型的最大范围,整型变量范围最大到32750?