java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.rmi.dgc
接口 DGC

所有超级接口:
Remote

public interface DGC
extends Remote

DGC 抽象用于分布式垃圾回收算法的服务器端。此接口包含了两个方法:dirty 和 clean。当一个远程引用在客户机(客户机由其 VMID 表示)被解组时,则进行一次脏 (dirty) 调用。当客户机上不存任何针对远程引用的更多引用时,则进行一次相应的洁 (clean) 调用。一次失败的脏调用必须安排一次强洁调用,这样调用的序列号才能保持,以检测未来由分布式垃圾回收器接收的无序调用。针对远程对象的引用由保持该引用的客户机租借一段时间。租借期从接收到脏调用时开始。对租借进行续期是客户机的职责,其方式是:在租借期满之前,在客户机保持的远程引用上进行附加的脏调用。如果客户机在期满之前没有对租借进行续期,则分式布垃圾回收器假定远程对象已不再为该客户机所保持。


方法摘要
 void clean(ObjID[] ids, long sequenceNum, VMID vmid, boolean strong)
          洁调用从 'ids' 指示的每个远程对象的引用列表中移除 'vmid'。
 Lease dirty(ObjID[] ids, long sequenceNum, Lease lease)
          脏调用为(与包含在数组 'ids' 中的对象标识符关联的)远程对象引用请求租借。
 

方法详细信息

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 和授予远程引用租期(服务器可能决定授予一个比客户机所请求更小的租期)的 Lease 对象。客户机必须使用垃圾回收器所使用的 VMID,以便当客户机删除远程对象引用时进行相应的洁调用。 客户机 VM 仅需为每个在 VM 中引用的远程引用进行一次初始脏调用(即使它对同一个远程对象持有多个引用)。客户机还必须在租借过期之前进行一次脏调用,以便对远程服务器上的租借进行续期。当客户机不再具有对特定远程对象的任何引用时,它必须为与此引用关联的对象 ID 安排一次洁调用。

参数:
ids - 调用客户机进行引用时要标记的对象 ID
sequenceNum - 序号
lease - 请求的租期
返回:
授予的租期
抛出:
RemoteException - 如果脏调用失败

clean

void clean(ObjID[] ids,
           long sequenceNum,
           VMID vmid,
           boolean strong)
           throws RemoteException
洁调用从 'ids' 指示的每个远程对象的引用列表中移除 'vmid'。序号用于检测最近的洁调用。如果参数 'strong' 为 true,则洁调用是一次失败的脏调用的结果,因此,应该记住客户机 'vmid' 的序号。

参数:
ids - 调用客户机取消引用时要标记的对象 ID
sequenceNum - 序号
vmid - 客户机 VMID
strong - 进行“强”洁调用
抛出:
RemoteException - 如果洁调用失败

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策