First of all what you do or do not import will have no impact on the performance of your application at runtime or the memory footprint. The purpose of import is to, for all intents and purposes, tell the compiler what you're talking about. If I import java.util.List I'm telling the compiler that when I refer to a List that's what I'm talking about. The new "static import" allows you to take it a step further and import the members of a class as well. It's of debateable usefulness. When used improperly it can make code harder to read as you try and figure
where this method or variable came from. Other times it makes it easier by not forcing you to qualify the variable.
As for the second question: yes it is better to import a specific class. If you're writing small programs to learn
Java or for school then it doesn't matter. Heck, if you're doing it in Notepad then I say use * and more power to you, no sense wasting all that time. However, in the "real world" it's not a good practice. Import a single class at a time, you're less likely to have namespace conflicts or to have a developer in the future have to try and figure out which package it's coming from. Chances are you'll be using an
IDE too and it should have support to deal with the imports for you.