This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
use abstract class when you have some implementation that a group of subclass should use.
Also use abstract class to make sure that its instance cannot be created.
use an interface when you want all other classes to implement all methods in interface though those classes are not from same inheritance tree. interface generally defines a role that implementing classes should play.
and as for performance, i am not sure. may be both perform at same speed or may be its java virtual machine dependent. and why do you care about such a minute change in speed?
Generally it's consider better practice to use interfaces over abstract classes which follows the principle 'favor composition over inheritance'. But this is more like a rule of thumb and when there is a good reason for using an abstract class then go right ahead.
JDBCSupport - An easy to use, light-weight JDBC framework -