Embodiments of a system and method for providing class dependency graph-based
class loading and reloading may be used to segregate namespaces in a graph-centric
way, and may provide a set of normalized topologies that may be used to efficiently
support hot-swapping of programmatic logic such as classes, applets, and beans,
among other applications. Embodiments may provide a domain-independent, flexible
and robust namespace segregation technique that is based on the dependency between
the various classes and not on details like the roles the classes play. The problem
of segregating namespaces is formulated as a graph theory problem, and a solution
is sought through graph techniques. The graph may be normalized by identifying
and grouping interdependent classes and non-interdependent classes in separate
groups. A directed dependency relationship of the groups may be determined using
the relationships between the member classes of the groups.