这个问题是双重的,但希望不应该太长来回答,尽管它有自己的长度。不过,请随意回答其中的一部分,很抱歉让它如此详尽!哪些对象是持久化的?哪些对象是瞬态的?什么时候持久化对象?对于第一部分,问题适用于:存储在一个对象 Applet传递存储在一个对象中的对象 Applet仅存储在堆栈变量中的对象(未从 any 引用,甚至是传递性的Applet)存储在使用构建的数组中的对象 makeTransientObjectArray传递存储在数组中的对象构建makeTransientObjectArray(例如,存储在存储在 a 中的对象的成员变量中makeTransientObjectArray)对于第二部分,它取决于第一个问题的答案。例如:我假设直接存储在瞬态对象数组中的对象不会持久化。在这种情况下,假设堆栈上的对象是持久化的,那么存储在那里的对象什么时候变成非持久化的?new Object当被放入瞬态对象数组时,它是否持久化和非持久化?如果一个对象同时具有来自瞬态对象数组和小程序的引用,并且小程序引用被删除,该对象是否未持久化?先感谢您!我已经查看了 JCRE 规范 v2.2.2(我正在使用的版本),但其中有一些不清楚的地方(因此这个问题很详尽,因为我觉得这更适合 Q/A 风格论坛):第 2-2 页提到 JCRE 使对象在传递存储在Applet. 但是,Glossary-7 声明对象默认是持久的。这种差异可能看起来不可观察,但会影响是否需要进行垃圾收集,无论何时都需要卡电源循环。第 5-1 页指出瞬态对象的字段绝不能存储在持久内存中。但它没有说明这对于瞬态对象数组中的对象是否也适用,例如。对象存储在瞬态对象数组中的对象字段中。第 5-1 页,同样的语句,可能与第 2-2 页冲突,当一个对象有一个对它的引用存储在瞬态对象数组和Applet.这三个问题分别相当于:第 1 部分第 3 和第 5 部分(以及,根据答案,第 2 部分第 1 部分)第 1 部分要点 5第 2 部分要点 2
添加回答
举报
0/150
提交
取消