Does anybody know of a java profiler, memory monitor or similar package which will help me track down a resource leak in a java stored proc in an ASA 9 database?

My app will store a few thousand data slices, each of which involves a java SP call to do some complex calculations, before it stalls and starts running verrrrryy slowly (1 minute per data point, vs several points per second when it first starts). Adding more memory to the java_heap_size option lets it run longer before stalling, but eventually it still does the same thing, even with 4x the default value.