Minumum? I tried 32M once and that worked. The only app I had installed was a simple web service.
Maximum? That depends on the OS and whether you are running a 32-bit or 64-bit JVM. A Windows 32-bit JVM is usually limited to 1.5-1.7G, while on Linux it is around 2G. For a 64-bit JVM the virtual limit is very high (around 2^64 bytes) but the practical limit is based on the amount of available memory (RAM + pagefile) with the recommended limit being the amount of free RAM.