title: Avoid Cache misses in Java
body: <p>Currently im switching my state of mind to develop applications more cache friendly.<br>
  In C++ im using stack allocation where i can,also i'm holding data with this same purpose in one array(Data Driven Programming) etc...<br>
  But im also Java developer and there comes a question:<br>
  I heard that Java is "cache miss generator".<br>
  Everything there is in heap,and is scattered in whole RAM after allocation or garbage collector work.I think the same problem is with C#.<br>
  Will it have sense to write Java in Data Driven way?<br>
  Is there any way to optimize Java code,or we are stuck with Java automatic optimization and cache misses?</p>