java命名空间java.rmi.dgc接口dgc的类成员方法:
dirty定义及介绍
本文导语:
dirty
lease dirty(objid[] ids,
long sequencenum,
lease lease)
throws remoteexception
脏调用为(与包含在数组 'ids' 中的对象标识符关联的)远程对象引用请求租借。该 'lease' 包含了客户机的唯一 vm 标识符 (vm...
dirty
lease dirty(objid[] ids,
long sequencenum,
lease lease)
throws remoteexception
- 脏调用为(与包含在数组 'ids' 中的对象标识符关联的)远程对象引用请求租借。该 'lease' 包含了客户机的唯一 vm 标识符 (vmid) 和一个请求的租期。针对从本地 vm 中导出的每个远程对象,垃圾回收器维护了一个引用列表 - 保持对其引用的客户机列表。如果授予租期,垃圾回收器则为 'ids' 指示的每个远程对象添加客户机 vmid 到引用列表。'sequencenum' 参数是一个用于检测和丢弃对垃圾回收器最近调用的序号。针对垃圾回收器的每次后续调用,该序号应该总是增加的。有些客户机不能生成 vmid,因为 vmid 是一个包含主机地址的通用唯一标识符,而有些客户机由于安全限制无法获取主机地址。在这种情况下,客户机可以使用一个为 null 的 vmid,并且分布式垃圾回收器为客户机赋予一个 vmid。脏调用返回一个包含所使用 vmid 和授予远程引用租期(过期
iis7站长之家可能决定授予一个比客户机所请求更小的租期)的 lease 对象。客户机必须使用垃圾回收器所使用的 vmid,以便当客户机删除远程对象引用时进行相应的洁调用。
客户机 vm 仅需为每个在 vm 中引用的远程引用进行一次初始脏调用(即使它对同一个远程对象持有多个引用)。客户机还必须在租借过期之前进行一次脏调用,以便对远程服务器上的租借进行续期。当客户机不再具有对特定远程对象的任何引用时,它必须为与此引用关联的对象 id 安排一次洁调用。
- 参数:
ids
- 调用客户机进行引用时要标记的对象 idsequencenum
- 序号lease
- 请求的租期
- 返回:
- 授予的租期
- 抛出:
remoteexception
- 如果脏调用失败