title: JAVA Distributed processing on a single machine (Ironic i know)
body: <p>I am creating a (semi) big data analysis app. I am utilizing apache-mahout. I am concerned about the fact that with java, I am limited to 4gb of memory. This 4gb limitation seems somewhat wasteful of the memory modern computers have at their disposal. As a solution, I am considering using something like RMI or some form of MapReduce. (I, as of yet, have no experience with either)</p>
  
  <p>First off: is it plausible to have multiple JVM's running on one machine and have them talk? and if so, am I heading in the right direction with the two ideas alluded to above?</p>
  
  <p>Furthermore,</p>
  
  <p>In attempt to keep this an objective question, I will avoid asking "Which is better" and instead will ask:</p>
  
  <p>1) What are key differences (not necessarily in how they work internally, but in how they would be implemented by me, the user)</p>
  
  <p>2) Are there drawbacks or benefits to one or the other and are there certain situations where one or the other is used?</p>
  
  <p>3) Is there another alternative that is more specific to my needs?</p>
  
  <p>Thanks in advance</p>