Java关键字transient

transient修饰的属性将不被串行化。

使用transient:

  • 实现接口Serilizable的对象序列化是,添加了transient的属性不会被添加到序列化的对象中。它只会在内存里使用。
  • transient只能修饰类成员变量,不能修饰类方法和方法内的变量
  • 对于静态变量,不管是否使用了transient修饰,都不会被序列化
  • 对于实现Externalizable的类,它的所有内容都不会自动序列化,它需要在writeExternal()里设置序列化的内容。这种情况不管类变量是否使用transient修饰,都会被序列化。

参考:https://www.cnblogs.com/lanxuezaipiao/p/3369962.html


版权声明:著作权归作者所有。

相关推荐

Java判断LocalTime是否在午夜

判断LocalTime是否在午夜,可以判断时间是否在23:59和00:01之间。代码如下:private final LocalTime ONE_MINUTE_BEFORE_MIDNIGHT = LocalTime.of(23, 59, 0); private final LocalTime ONE

Java 9的Process和ProcessHandler

Java 9给Process API引入了多种改进,其中新增了ProcessHandler类,它提供了进程相关的信息,如pid,父进程,子进程,进程开始时间以及累计cpu时间等。这里使用Java 9的jshell简单演示下Process的使用:jshell> Process p = new ProcessBuil

Python 函数内修改关键字参数**kw的安全性考虑

Python定义函数常常会使用关键字参数**kw来接收字典值。基本语法def f(p1,p2,**kw) **kw将接收0个或任意个含参数名的参数,这些关键字参数在函数内部会自动组合为一个字典。示例def person(**kw)     for k in kw:    &nbs

[译]Swift 4字符串的更新

又一年过去了,Swift String API又做了一些更改。Swift 4对String带来了一些很需要的改进以及简化。这些是我写的笔记,它记录了我的Swift字符串小抄关于Swift4需要做的改动。你可以在这里找到原来的和现在更新的指南以及Xcode playground:Swift String Cheat SheetXc

关于Java异常

在这篇博文里,我们思考下检查异常 (checked exception)和非检查异常(unchecked exception),特别是它们在函数式编程里的影响。十几年前Java出现时,在当时它是相当有创意的。特别是它的异常处理机制,相对先前的C/C++有了很大的提高。例如,读取文件可以出现很多异常:文件可以不存在,可以为只读等等。相关Java的伪代码类似于:File&