首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >哪些对象在Java Card中是持久化的,什么时候?

哪些对象在Java Card中是持久化的,什么时候?
EN

Stack Overflow用户
提问于 2018-08-22 00:18:58
回答 1查看 613关注 0票数 4

这个问题有两个方面,但希望不要回答得太长,尽管它本身就很长。尽管如此,请只回答其中的一部分,很抱歉让它变得如此详尽!

  • 持久化哪些对象?transient?
  • When是持久化的对象?

对于第一部分,问题适用于:

传递存储在Applet

  • Objects中的
  • 对象,这些对象仅存储在堆栈变量中(即使是传递引用,也不是从使用makeTransientObjectArray
  • Objects构建的数组中存储的任何Applet)
  • Objects引用的,该数组是使用makeTransientObjectArray (例如.存储在makeTransientObjectArray)

中存储的对象的成员变量中

对于第二部分,它适用于第一个问题的答案。例如:

  • 我假设直接存储在瞬态对象数组中的对象不是持久化的。在这种情况下,假设堆栈上的对象是持久化的,那么存储在那里的对象何时会变成非持久化的?如果对象同时具有来自临时对象数组和applet的引用,并且该applet引用被擦除,则该对象是否为un-persisted?

提前谢谢你!

我已经研究了JCRE规范v2.2.2 (我正在使用的版本),但其中有一些不清楚的地方(因此这个问题很详尽,因为我觉得这更适合于Q/A风格的论坛):

  • 第2-2页提到,当对象传递地存储在Applet中时,JCRE会使对象持久化。但是,Glossary-7规定默认情况下对象是持久的。这种差异可能看起来不可察觉,但会影响在需要卡电源循环时是否需要垃圾收集。
  • 第5-1页规定,暂态对象的字段决不能存储在永久内存中。但它没有说明这是否也适用于瞬态对象数组中的传递对象,例如。存储在瞬态对象数组的对象字段中的对象。当对象的引用同时存储在瞬态对象数组和Applet.

中时,

  • 第5-1页的相同语句可能会与第2-2页冲突

这三个问题分别相当于:

  • 第1部分要点3和5(根据答案,第2部分要点1)
  • 第1部分要点5
  • 第2部分要点2
EN

回答 1

Stack Overflow用户

发布于 2018-08-22 01:42:41

有一个非常好的文档,可以从oracle.com免费下载,标题是"Java Card3平台运行时环境规范“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51952899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档