Dúvida besta em instanciação

Pessoal ando meio enferrujado de Java, surgiu uma dúvida. Qual a diferença de se chamar uma classe na main assim:

public static void main(String args[])  {
    new MyJFrame();
}

E assim:

public static void main(String args[])  {
   FrameGeral frame = new FrameGeral();
}

Na primeira tú não terá a instancia em um atributo p/ utiliza-lo naquele escopo(método) e a outra você a terá em um atributo/variável.

Instanciando da primeira forma, você aloca na memória uma instancia de MyJFrame, porém não referencia á ela nenhum objeto, logo não conseguirá utilizá-la e o Garbage Collector poderá eliminá-la da memória.

Instanciando da segunda forma você também aloca na memóra uma instancia de MyJFrame, mas dessa vez cria também uma variável (chamada frame) e referencia esta ao endereço de memória onde a instancia de MyJFrame está. Dessa forma, uma vez que no escopo atual existe referencia entre variável e o objeto na memória, você consegue utilizar a variável como um objeto de MyJFrame e por existir essa referência o Garbage Collector não irá eliminá-la da memória (não elimina se o escopo ainda for válido. Seu escopo, nesse exemplo é o método main).