Are there any tools to visualize the objects being used in a program?
A profiler would allow you to see what objects are created at runtime. This is the output of JProfiler for instance:
(source: ej-technologies.com)
Sun have developed the VisualVM which includes memory and process profiling. It also supports plugins for technology such as OSGi.