O compilador (javac) é praticamente o mesmo para cada versão (exceto no caso do JDK 5.0, onde a linguagem foi alterada), então compilar não adianta.
Mas o mínimo de memória requerido por cada versão do JRE aumenta (mais funcionalidades, mais recursos, mais memória).
Só fico imaginando qual seria o nome da versão 7.0 do Java - muitos sugeriram Elephant (elefante) ou Whale (baleia) porque cada vez o Java tem mais e mais recursos. Mas isso é assim mesmo.
Se você não pode comprar mais memória, precisa usar uma versão bem antiga do JRE - tipo JDK 1.3, que não é mais suportada; então você teria de usar a 1.4.2_08 - ou então até mesmo a Microsoft JVM (equivale ao JDK 1.1.8 ), he he he… Só não recomendo usar a MSJVM porque ela:
a) Não é mais suportada pela Microsoft - na verdade, seu uso é desaconselhado pela Microsoft;
b) Está cheia de problemas de segurança;
c) É complicado usar apenas recursos do JDK 1.1. Muito complicado mesmo. Nem tem uma coisa parecida com o TreeSet ou o TreeMap (sem contar que não tem o Swing incorporado). Para ter alguma produtividade com a MSJVM, só usando o MSJ++, que é um produto que foi descontinuado pela Microsoft faz muitos anos (há uns 8 anos mais ou menos)