Java and GPU's

When Java draws an image does it store the image on the GPU so when the image is redrawn it requires minimal processing or does it move the image file back and forth between the CPU and the GPU? Just curious really.

Also what is the best resolution to produce full screen games in? Obviously there’s a cross over between high res and speed but do all screens support all resolutions? Is there a standard res that works on everything? even on steam? I only ask because the last game I did was 640 x 480 and I definitely had issues on some PC’s.

Another odd thing I found was that text appeared in slightly the wrong place when running on Linux machines - it was as if the xy position was for the top left of the text on windows but the bottom left when running on Linux. This caused my image boxes and associated text to look crappy on Linux. I ended up using an image for the text instead of drawString. Thoughts?