title: Can we view objects in the JVM memory?
body: <p>At work we found that on some instances (particulary the slow ones) we have a different behaviour, acquired at the reboot.</p>
  
  <p>We guess a cache is not initialized correctly, or maybe a concurrency problem...
  Anyway it's not reproductible in any other env than production.</p>
  
  <p>We actually don't have loggers to activate... it's an old component...</p>
  
  <p><strong>Thus i'd like to know if there are tools that can help us to see the different objets present in the JVM memory in order to check the content of the cache...</strong></p>
  
  <p>Thank you!</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>I don't have access to the production servers directly, our app server is weblogic 10, i don't have a pointer to the object but i know the cache object type...</p>
  
  <p><strong>Edit2:</strong></p>
  
  <p>Our servers are running on jre 1.5, is it possible to use jmap? Can't find it in a jdk5 :(
  Also, remote debugging could be nice but we can't for security reasons...</p>
  
  <p><strong>Edit3:</strong></p>
  
  <p>Actually jhat + VisualVM is ok for me, i found my object in dump but i'm not able to read the hashmap (object containing about 60000 items) properly...
  Is there a tool to read a concurrenthashmap in a friendly way? i need to find the value of a key (or its existence in the map) without browsing manually the 60k records.
  Actually i read on eclipse MAT forum that it's also not possible with it...</p>
  
  <p><strong>Edit4:</strong>
  After some experiences i really like tools like VisualVM. Also used YourKit.
  There are some useful features like OQL to find the right instances you need to look at...</p>