摘要 |
A distributed object oriented computer system that has two classes of object references: strong references and weak references. Weak references (or pointers) allow users to refer to an object, but does not prevent the object manager from deleting the object. A weak object reference can be converted into a strong object reference by execution of a "MakeStrong" operation, which generates a strong reference, and then deleting the weak reference. A strong object reference can be converted into a weak object reference by execution of a "MakeWeak" operation, which returns a weak reference to the object referred to in the operation's argument, and then deleting the strong reference. When an object no longer has any outstanding strong object references, deletion of the object is enabled. In another aspect of the invention, a portion of the computer's memory is set aside for a primary linker cache and a secondary linker image cache. Linker images, generated while loading programs for execution, are stored in the primary and secondary linker caches. Each linker image in the primary linker cache has strong object references to objects included in corresponding ones of the loaded programs, and each linker image in the secondary linker cache has weak object references to objects included in corresponding ones of the loaded programs.
|