瞬态变量有什么用? [复制]

2023-12-06

可能的重复:
为什么Java有瞬态变量?

瞬态关键字将用于防止特定变量的序列化。但为什么我们不应该序列化数据呢?内心有安全感吗?


有些类本质上是不可序列化的,因为它们代表管理 Java 环境之外的资源。例如一个FileOutputStream不能真正被序列化,因为它代表一个打开的文件句柄。对于一个来说也是如此Socket:您无法保存和恢复“打开的套接字”。

如果要序列化某个具有该类型字段的对象,则必须将这些字段标记为瞬态。

使用的另一个原因transient是当你的类进行某种内部缓存时。例如,如果您的类可以进行计算,并且出于性能原因,它会缓存每个计算的结果,那么保存该缓存可能并不理想(因为重新计算它可能比恢复它更快,或者因为旧的缓存值不太可能被删除)任何用途)。在这种情况下,您可以将缓存字段标记为瞬态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

瞬态变量有什么用? [复制] 的相关文章

随机推荐

  • 对于 DynamicComponentLoader,@ContentChild 为 null

    我有一个可在许多页面上使用的侧面导航组件 这不是单页网络应用程序 它动态加载到切换菜单的父组件上 ContentChild 用于获取子组件的句柄 以便可以通过设置 input overrideHidden 来切换子组件 问题是 Conten
  • Ruby/Watir:firefox 无头

    根据这个 https developer mozilla org en US Firefox Headless modefirefox 57 能够以无头模式运行 我尝试将它与此一起使用 omg3r Watir Browser new fir
  • 堆栈跟踪是如何生成的?

    程序中没有任何一个方法 知道 它在堆栈上的位置 它所知道的只是它自己的小工作 它完成了它并返回 那么 当抛出异常并打印堆栈跟踪时 这是从哪里来的呢 JVM 中是否隐式有一个单独的线程与每个应用程序一起运行来监视程序的状态 或者 JVM 本身
  • Google表格:删除包含指定数据的行

    我是 Java 脚本和 Google Apps 脚本的新手 所以如果这个问题已经得到解答 我很抱歉 在从事这个项目的最后几个月里 我无法找到我想要的东西 我正在这里编写脚本的变体 如果在单元格中找到特定 单词 则删除 Google 表格中的
  • 在类型转换中,类型“List”不是类型“List”的子类型

    运行后飞镖迁移 应用空安全性 该错误在我的代码中弹出 我认为这是导致代码块的错误 LayoutBuilder builder context cons return GestureDetector child new Stack child
  • 由于谷歌自动服务处理器,无法编译我的 javafx 和 selenium 项目(“无法获取公共无参数构造函数”)

    我正在尝试使用 Maven 编译我的 Instagram 机器人 它使用javafx作为接口 使用selenium作为自动化 我已经被这个错误困扰了很长时间 当我尝试做的时候mvn clean javafx jlink它向我显示了这个错误
  • MYSQL 无法从 PHP 接收数据

    我正在尝试将数据从输入发送到我的 sql 数据库 这是它尝试将信息发送到数据库的编码 它不会出现在数据库中 编码有什么问题
  • 如何将密码从md5转换为laravel加密方法

    我想将现有项目重新开发为 laravel 在我的旧系统中 我将密码存储到 md5 中 现在我如何根据现有用户的 laravel 哈希方法将其转换 有什么直接的方法可以做到吗 有什么直接的方法可以做到吗 不 没有直接的方法 但你可以通过重写来
  • 禁用 CMake 选项没有效果

    我正在准备一个应用程序 它应该在有或没有 GUI 的情况下工作 所以我在 CMakeLists txt 中使用命令 option NEED GUI Include Qt support OFF and if NEED GUI message
  • R 中给定出生日期和任意日期的有效且准确的年龄计算(以年、月或周为单位)

    我面临着计算给定出生日期和任意日期的年龄 以年 月或周为单位 的常见任务 问题是 我经常必须对许多记录 gt 3 亿 执行此操作 因此性能是这里的一个关键问题 在 SO 和 Google 中快速搜索后 我找到了 3 个替代方案 常见的算术过
  • Python 中 (1,) 是什么意思?

    我查看了类似的问题 但没有在任何地方找到这个主题 我想知道元组有什么作用 1 在 Python 中是什么意思 From https wiki python org moin TupleSyntax 单元素元组 单元素元组如下所示 1 这里的
  • 索尼,相机远程API

    我有一台 Sony Alpha 5000 ILCE 5000 相机 我一直在用它开发一个网络项目 我通过 wifi 使用 JSON 集成该相机没有任何问题 但我不想依赖 wifi 相机 我的Web项目是否可以像远程相机控制程序一样通过USB
  • 如何防止 vim autocmd 在命令行窗口中运行?

    当我离开插入模式时 我使用自动命令关闭预览窗口 如中所述这个答案 但是当我在命令行窗口中时 q 我得到一个错误 E11 Invalid in the command line window
  • 如何使用单个查询 (SELECT) 从两个表中填充两个对象?

    这应该是程序员经常遇到的事情 但我从来没有尝试过这样处理 也就是说 我会解释一下 比如说 我需要从表 Zoo 中获取值 如下所示 SELECT z predator z prey FROM Zoo AS z WHERE z preyType
  • 如何确保每次迭代后释放每个“子”进程的文件句柄?

    我采取了以下计划来自 Rust 文档std process Command 经过一些迭代后它停止工作 use std process Command use std process Stdio fn main loop let mut ec
  • Python:使用 xmltodict 获取值

    我有一个如下所示的 XML 文件
  • 禁用 Qt 3d 中的所有光源

    在我的公司 从旧的 3D 引擎转向 Qt3d 这项工作的目标之一是将旧 3D 引擎的渲染视图与 Qt3d 渲染进行比较 为此 我编写了一个小型示例应用程序 我可以在其中比较新旧渲染 仍然存在很多差异 我的第一个想法是切换两个引擎中的所有光源
  • 如何在 awk 中将分隔字符串拆分为数组?

    当字符串包含管道符号时如何拆分字符串 在里面 我想将它们分成数组 I tried echo 12 23 11 awk split 0 a print a 3 a 2 a 1 效果很好 如果我的字符串就像 12 23 11 那么如何将它们拆分
  • 使用母版页引用 Aspx 页面中的 CSS 表

    标题中已经很好地说明了问题 通常我会使用
  • 瞬态变量有什么用? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么Java有瞬态变量 瞬态关键字将用于防止特定变量的序列化 但为什么我们不应该序列化数据呢 内心有安全感吗 有些类本质上是不可序列化的 因为它们代表管理 Java 环境之外的资源 例如一个File