Skip to content

Java virtual machine

The Java virtual machine (JVM) is the platform dependent interpreter of the Java bytecode (i.e., the classes). It translates the bytecode into machine specific instructions.

Amount of available memory#

If you start the virtual machine without any parameters it takes default values for stack and heap. In case you run into OutOfMemory exceptions, try to start your JVM with a bigger maximum heap size. (However, there's a limit, depending on your OS. See the 32-Bit and 64-Bit sections.)

32-bit#

With a 32-Bit machine you can address at most 4GB of virtual memory. Different operating systems divide up the memory further into //system/kernel and user space*.

From experience, you can achieve the following maximum sizes for the heap on Windows and Linux:

  • Windows: 1.4GB
  • Linux: 1.7GB

64-bit#

Larger heap sizes are available when using 64-bit Java in a conjunction with a 64-bit operating system.

There is more information available here.