yes, looks more like 1 billion sprites if you let it run for a week.
here is the pseudocode: (slightly changed, I use rasters of BufferedImages and blit via loops)
Image pic;
Image[] buf;
int width=800,height=600;
int count = 0;
public void init() {
buf = new Image[10];
for (int i = 0; i < buf.length; i++) {
buf[i] = new Image(width,height);
}
pic = somePicture();
}
public void render() {
count++;
getGraphics().drawImage(buf[count % buf.length],0,0,null);
for (int i = 0; i < buf.length; i++) {
float frak = (float) i / buf.length;
float time = (count + frak) / (20f);
int w=width/2;
int h=height/2;
int x=w+(int)(w/2*Math.sin(time));
int y=h+(int)(h/2*Math.sin(time*2.1));
buf[i].getGraphics().drawImage(pic, x, y, null);
}
}