Double buffering is a process of doing all the drawing first in the memory and then displaying the entire screen at once. It is called double buffering because two drawing buffers are kept and you switch between them. It can be used to display fast animation without flickering. On the downside, it does have some memory overhead.
The code given below describes how to do it:
OffscreenImage = createImage(size.width(), size.height());
OffscreenGraphics = OffscreenImage.getGraphics();
Professional animation effects are created using this technique.