Java瞬态关键字语法糖吗?

时间:2018-10-25 07:33:21

标签: java

为什么transient不能通过使用注释而不是引入关键字来解决?

似乎transient关键字并没有真正为语言提供任何本机功能,并且似乎更像语法,可以防止意外序列化。

我想念什么吗?

2 个答案:

答案 0 :(得分:4)

Java transient keyword是在第一个Java版本中添加的,而Annotations是在1.5版本中后来添加的

实际上暂时使用ad hoc annotation mechanism

  

Java平台一直具有各种临时注释机制。例如,transient修饰符是一个临时注释,指示序列化子系统应忽略该字段

请注意,Scala具有@transient且也易失:

  

@transient标记字段为非持久性;这等效于Java中的瞬时修饰符。

     

@volatile标记一个可以在程序控制范围之外更改其值的字段;这等效于Java中的volatile修饰符。

答案 1 :(得分:2)

根据上面的注释,transient关键字比注解早。您可以使用AOP创建自己的标记,并在要使类成员成为瞬态的任何地方进行注释,尽管您的标记在后台仍将使用Transition关键字。