If you don’t specify -Xmx or -Xms to control the heap size, then the defaults are used.
They are described in detail in the strangely title “Ergonomics in the 5.0 Java Virtual Machine” page here: http://www.oracle.com/technetwork/java/ergo5-140223.html
The page states:
"In the J2SE platform version 5.0 a class of machine referred to as a server-class machine has been defined as a machine with
2 or more physical processors
2 or more Gbytes of physical memory
On server-class machines by default the following are selected.
Throughput garbage collector
initial heap size of 1/64 of physical memory up to 1Gbyte
maximum heap size of ¼ of physical memory up to 1Gbyte
Server runtime compiler"
So if you have a “server class” machine, you could expect your Java 5.0 JVM to utilise a maximum of 1GB of heap with no tuning (-Xmx & -Xms).
Although it’s not very clear, it seems that a non-“server class” machine would allocate the same as a Java 1.4.2 virtual machine:
"In the J2SE platform version 1.4.2 by default the following selections were made
Serial garbage collector
initial heap size of 4 Mbyte
maximum heap size of 64 Mbyte
Client runtime compiler"
Therefore, a maximum of 64MB of heap would be utilised.
I don’t know if a single dual core CPU is recognised as a “server class” machine, but you can find out what your Java version thinks your machine is by running:
> java -help
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is server,
because you are running on a server-class machine.
-cp <class search path of directo....
As you can see, the output tells you that it thinks you are running on a “server class” machine.
Either way, it’s probably best to use the “-server” command line option to be sure, plus the “-Xmx” option to restrict memory usage if you don’t need a whole 1GB heap.