Search the forums, its been covered many times before.
but cos i’m nice, i’ll summarise it here 
Images returned from these methods are ‘ManagedImages’ (previously known as Automatic Images)
This means they are elligable for caching in VRAM, and hence are hardware accelerated.
:-
Toolkit.createImage()
Toolkit.getImage()
GraphicsConfiguration.createCompatibleImage()
Component.createImage()
These slides maybe helpful :-
http://servlet.java.sun.com/javaone/resources/content/sf2003/conf/sessions/pdfs/1402.pdf
and also, this example program :-
http://www.pkl.net/~rsc/downloads/Balls.jar
Images returned from ImageIO.read() are not accelerated (in the current java version, though I believe the intention is to make them so)
If you want to load images using ImageIO, you must then subsequently copy the image into a ManagedImage.
The code to do that will look something like this :-
import java.awt.*;
import java.awt.image.*;
public class ImageLoader
{
final GraphicsConfiguration gc;
public ImageLoader(GraphicsConfiguration gc)
{
if(gc==null)
{
gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
}
this.gc = gc;
}
public BufferedImage loadImage(String resource, int transparencyType)
{
try
{
BufferedImage src = javax.imageio.ImageIO.read(getClass().getResource(resource));
//Images returned from ImageIO are NOT managedImages
//Therefor, we copy it into a ManagedImage
BufferedImage dst = gc.createCompatibleImage(src.getWidth(),src.getHeight(),transparencyType);
Graphics2D g2d = dst.createGraphics();
g2d.setComposite(AlphaComposite.Src);
g2d.drawImage(src,0,0,null);
g2d.dispose();
return dst;
}
catch(java.io.IOException e)
{
return null;
}
}
}
Currently accelerated Transparency is only possible using ManagedImages. (not with VolatileImages)
Also, currently only bitmask transparency is by default accelerated.
However, there are flags to enabled hardware acceleration for images with a full alpha channel (Translucent). These flags also make AlphaComposite operations hardware accelerated.
The code to set the flags is :-
System.setProperty("sun.java2d.translaccel", "true");
System.setProperty("sun.java2d.ddforcevram", "true");
This Thread covers the flags in more detail
http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=2D;action=display;num=1048663269;start=0#0