Imagine that you are working on project involving an in-memory data grid. You have analyzed your requirements and you can see that you need to store 10 million objects in your grid. The next question is how much physical memory do you need to provide such capacity? I recently have been facing the same question, and want to share some findings about how Oracle Coherence (popular in-memory data grid middleware) uses memory.
Full text of article is available at GridDynamics blog - http://blog.griddynamics.com/2009/09/oracle-coherence-memory-structure-of.html