Até onde eu sei, o desempenho do seu programa será o mesmo. Usar um import para cada classe em separado pode facilitar um pouco a vida do compilador Java, mas para o programador é só uma questão de conveniência.
Não há nenhuma diferença de performance, e não serão importadas todas as classes; apenas as classes que você realmente estará utilizando.
Utilizar:
import java.util.List;
import java.util.Date;
ou
import java.util.*;
terá o mesmo efeito de performance. O que muda é a "claridade" para o desenvolvedor saber de onde realmente vem a classe que ele está utilizando. Imagine que você tenha muitos imports, todos com o coringa ".*". Quando instanciar as classes, você pode ter problemas para saber qual o pacote da classe que está instanciando... apenas isto... Pelas boas práticas, e por questões de clareza, deve-se evitar imports com os coringas.
Se nao me engano, existe recomendação sobre isso na documentação de padrão de código da SUN. Algo to tipo usar * se tiver mais de 3 imports do mesmo pacote. Como atualmente as IDEs colocam os imports automaticamente, eu tenho deixado import a import mesmo.
O .class que é gerado com ou sem “*” é exatamente o mesmo. Então não há nenhuma diferença em tempo de execução.
Entretanto, eu recomendo importar explicitamente as classes que serão usadas, sem usar “*”, porque você pode ter problemas de recompilar seu código de uma versão para outra do Java, se por acaso você tiver o azar de algo que não era ambíguo em uma versão anterior passar a ser ambíguo em uma versão posterior.
Até por motivos de documentação - uma coisa que odeio em programas C# é que não existe uma opção de importar classe por classe, apenas pacote por pacote.
O que ocorre é que você acaba tendo de olhar o programa C# no Visual Studio para descobrir que classe pertence a qual pacote, ou então (argh) especificar, no uso, o pacote inteiro, o que torna os programas mais verbosos ainda.