1461175856-a4a82a41-756a-47be-a059-1ca00ed9ffff

We claim:

1. A custom class loader configured to dynamically locate and load classes in a virtual machine in accordance with an associated dependency specification, the custom class loader comprising:
class loading logic configured to specifically and dynamically locate, define and load a class specified by name;
a list of peer class loaders arranged in accordance with the associated dependency specification and, list generation logic configured to generate said list when said specified class has been replaced or when said dependency specification has been modified;
a flag indicating whether said class has been replaced; and,
deference logic configured to defer said location, definition and loading of said specified class to said peer class loaders in said list.
2. The custom class loader of claim 1, wherein said flag comprises a dirty bit.
3. The custom class loader of claim 1, wherein said custom class loader conforms to the specification of a JAVA() version 1.2 delegation-style custom class loader.
4. In a custom class loader executing in a virtual machine, a method of coordinating class loading among cyclically dependent classes comprising:
receiving a request to load a specified class;
determining whether said specified class has been replaced;
if it is determined that said specified class has been replaced, constructing a new instance of the class loader and generating a list of peer class loaders to which location, definition and loading of said specified class are to be deferred in accordance with a dependency specification in the virtual machine; and,
deferring said location, definition and loading to said peer class loaders in said list.
5. The method of claim 4, wherein said determining step comprises checking a dirty bit in the class loader.
6. The method of claim 4, wherein said generating step comprises:
traversing each peer class loader in said dependency specification; and,
adding a reference for each said traversed peer class loader to said list.
7. The method of claim 4, wherein said dependency specification comprises a tree of nodes, each said node encapsulating a reference to a dependency of said specified class, one of said nodes encapsulating a reference to said specified class.
8. The method of claim 7, wherein said generating step comprises:
beginning with said one node encapsulating a reference to said specified class, traversing each node in said dependency specification using a depth-first traversal strategy until encountering either a leaf node or a node encapsulating a reference to a dependency already referenced in said list;
responsive to said encountering, traversing each node in said dependency specification using a breadth-first traversal strategy until encountering said node encapsulating said reference to said specified class; and,
adding a reference for each traversed node to said list.
9. The method of claim 6, wherein said generating step further comprises adding at least one reference to a peer class loader to said list based upon a corresponding reference stored in a list of peer class loaders identified in one of said traversed peer class loaders.
10. The method of claim 5, further comprising setting said dirty bit responsive to said specified class being replaced.
11. The method of claim 10, further comprising setting each dirty bit in each peer class loader referenced in said list responsive to said specified class being replaced.
12. A machine readable storage having stored thereon a computer program for coordinating class loading among cyclically dependent classes in a custom class loader executing in a virtual machine, the computer program comprising a routine set of instructions for causing the machine to perform the steps of:
receiving a request to load a specified class;
determining whether said specified class has been replaced;
if it is determined that said specified class has been replaced, constructing a new instance of the class loader and generating a list of peer class loaders to which location, definition and loading of said specified class are to be deferred in accordance with a dependency specification in the virtual machine; and,
deferring said location, definition and loading to said peer class loaders in said list.
13. The machine readable storage of claim 12, wherein said determining step comprises checking a dirty bit in the class loader.
14. The machine readable storage of claim 12, wherein said generating step comprises:
traversing each peer class loader in said dependency specification; and,
adding a reference for each said traversed peer class loader to said list.
15. The machine readable storage of claim 12, wherein said dependency specification comprises a tree of nodes, each said node encapsulating a reference to a dependency of said specified class, one of said nodes encapsulating a reference to said specified class.
16. The machine readable storage of claim 15, wherein said generating step comprises:
beginning with said one node encapsulating a reference to said specified class, traversing each node in said dependency specification using a depth-first traversal strategy until encountering either a leaf node or a node encapsulating a reference to a dependency already referenced in said list;
responsive to said encountering, traversing each node in said dependency specification using a breadth-first traversal strategy until encountering said node encapsulating said reference to said specified class; and,
adding a reference for each traversed node to said list.
17. The machine readable storage of claim 12, wherein said generating step comprises:
traversing each parent class loader associated with the class loader through to a primordial class loader; and,
adding a reference for each said traversed parent class loader to said list.
18. The machine readable storage of claim 17, wherein said generating step further comprises adding at least one reference to a parent class loader to said list based upon a corresponding reference stored in a list of parent class loaders identified in one of said traversed parent class loaders.
19. The machine readable storage of claim 13, further comprising setting said dirty bit responsive to said specified class being replaced.
20. The machine readable storage of claim 19, further comprising setting each dirty bit in each parent class loader referenced in said list responsive to said specified class being replaced.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

What is claimed is:

1. A submarine optical gain equalizer applied to a submarine optical transmission line, comprising a pressure housing and an optical gain equalizer installed in the pressure housing with its input and output ports being formed in the outside of said pressure housing.
2. A submarine optical gain equalizer according to claim 1, wherein one optical gain equalizer is installed in said pressure housing.
3. A submarine optical gain equalizer according to claim 1, wherein one or more through-fibers are installed in said pressure housing and input and output ports of the through-fibers are formed in the outside of said pressure housing.
4. A submarine optical gain equalizer according to claim 1, wherein said optical gain equalizer is configured so as to attenuate levels of optical signals having a specific wavelengths by predetermined amounts.
5. A submarine optical gain equalizer according to claim 1, wherein said optical gain equalizer has characteristics of attenuating levels of optical signals having wavelengths other than a shortest one so as to be equalized to a level of an optical signal having the shortest wavelength among optical signals of a plurality of wavelengths transmitted through said optical gain equalizer.
6. A submarine optical transmission line on which one or more submarine optical gain equalizers according to claim 1 are installed.
7. A submarine optical transmission line according to claim 6, wherein said submarine optical gain equalizers have optical attenuation characteristics different each other.
8. A installation method of a submarine optical transmission line comprising: detecting each wavelength level of multi-wavelength optical signals in respective optical fibers composing a submarine optical transmission line and connecting submarine optical gain equalizers for compensating for predetermined level differences between the detected wavelengths in the detected position on the optical fibers.
9. A installation method of a submarine optical transmission line according to claim 8 comprising: previously calculating attenuation degrees of respective wavelengths of the multi-wavelength optical signals in the positions on said submarine optical transmission line where said submarine optical gain equalizers are installed, preparing the submarine optical gain equalizers for adjusting these attenuation degrees, and installing said submarine optical gain equalizers in said positions on said submarine optical transmission line.