java transient 应用场景_关于java:transient关键字的用途是什么以及何时使用它?...
本问题已经有最佳答案,请猛点这里访问。
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关键字的用途是什么以及何时使用它?...相关推荐
- java nashorn使用场景_优化Java调用Nashorn引擎的性能
之前的项目里面大量使用了Nashorn引擎,目的是很多需要动态执行的代码放到了JavaScript里面,这样在用户那边比较好调试.但是因为性能的问题遇到了几个坑,最后经过一段时间,最终解决了,形成了这 ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java有几大对象_一个 Java 对象到底有多大?
阅读本文大概需要 2.8 分钟. 出处:http://u6.gg/swLPg 编写 Java 代码的时候,大多数情况下,我们很少关注一个 Java 对象究竟有多大(占据多少内存),更多的是关注业务与逻 ...
- 滴滴java开发面试题_滴滴java开发工程师面试问题解答(第一回)
有位同学写了一个滴滴面试拿offer的经历,据说还面了滴滴的CTO,我就好奇,这CTO面又能是个啥水平呢?对他在文章中提到的部分问题做个解答吧. 原文请见滴滴CTO五轮面试真是太刺激了,Java高级工 ...
- java程序设计模拟题_《Java程序设计》东师模拟题题目及答案
<Java程序设计>东师模拟题题目及答案 2020-08-30 09:08:37 931 有学员问关于<Java程序设计>东师模拟题题目及答案的题目的参考答案和解析,具体如下: ...
- java是什么格式_是java格式
错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...
- java ee开发环境_设置Java EE 6开发环境
java ee开发环境 本教程简要说明了如何设置典型的环境来开发基于Java EE 6的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. ...
- Java并发编程实战_福州java编程实战培训班排名
如何选择福州java培训中心? 在福州,如果想迅速掌握java开发,参加福州java培训班无疑是一种非常有效的方式.但是,市场上有这么多的java培训机构,我们在选择的时候难免会眼花缭乱.福州java ...
- java runnable线程锁_多线程 java 同步 、锁 、 synchronized 、 Thread 、 Runnable
线程 1 线程概述 1.1 什么是线程 v 线程是程序执行的一条路径, 一个进程中可以包含多条线程 v 一个应用程序可以理解成就是一个进程 v 多线程并发执行可以提高程序的效率, 可以同时完成多 ...
最新文章
- 最后9个名额丨知识图谱理论与实战(线下集训)
- 【LeetCode】LeetCode之跳跃游戏——动态规划+贪心算法
- Android之利用EventBus进行数据传递
- 【渝粤题库】国家开放大学2021春3620矿井火灾防治题目
- 神经网络 - 用单层感知器实现多个神经元的分类 - (Matlab建模)
- lda数学八卦_【技术博客】文本挖掘之LDA主题模型
- UGUI 屏幕适配 导致 BoxCollider无效 解决记录
- C++虚调用及其调用的具体形式
- mysql中CONCAT值为空的问题解决办法
- C 语言 —— ! 和 ~(感叹号和波浪号)
- Exp5 MSF基础应用 ——20164316张子遥
- js常用正则表达式(经典)
- Oracle数据库基础知识_数值类型及函数
- spring-第十八篇之spring AOP基于XML配置文件的管理方式
- UOS Deepin Linux 系统引导丢失修复
- 搜索引擎整体结构图以及描述
- 小猪短租网requests库使用
- 51单片机 外部中断
- 又一家边缘计算公司融资啦!!!
- python程序文件扩展名主要是什么_python程序文件扩展名知识点详解
热门文章
- 【转载】通往性能优化的天堂-地狱 JOIN方法说明
- mysql 主从同步 阻塞_如何解决主从数据库同步延迟问题?
- Python统计Excel文件中超市营业额明细数据
- 原神光环助手下的算什么服务器,原神光环助手app
- python怎么命名未知数_Python4要来了?快来看看Python之父怎么说
- leetcode_150. 逆波兰表达式求值
- linux安装gtk命令,Ubuntu 下安装 GTK2.0
- PAT: gets’ was not declared in this scope gets(s)
- 织梦在哪写html,织梦dedecms模板文件不支持html的解决方法
- c语言整型的最大范围,整型变量范围最大到32750?