So can a lot of other languages.

Most RAM-hungry Java apps are either UI apps or just poorly written (or simply have large memory requirements like in-memory routing trees :-).

Weblogic (v. 5 or so) used a good 150M of RAM just to start up. The admin interface used about 130M (!) just to start up. As a comparison, Inprise's app server (which does pretty much the exact same thing as Weblogic) used 32M to start, as did the admin program. Much of that is the JVM simply grabbing a large block of memory at the start so it doesn't have to get it piecemeal later on (which can lead to memory fragmentation).

Regardless, the error message that Bill is seeing is coming from within the Oracle process, not the JVM.