Vejamos o código a seguir:
String a = new String("a");
Aqui temos dois objetos sendo criados: um a partir do new e outro a partir do literal.
O objeto do new é acessível por meio da variável a, mas o objeto do literal não é.
Nesse caso, o objeto do literal fica inacessível e pode ser excluído pelo Garbage Collector?