It is not allways important what other people say, like other people have said i only need one sleep, i say that i have tens of sleeps on my applet, allmost one after every image, if i go building boardgames it is not that big deal if i have 10-20 ms sleep after every image, or even 100 ms after every image on some games, and maybe i have a minimum 990 ms sleep on my entire boardgame.
Even if i am here at the forum, and even if i get answers, it does not have to be that i follow these advices.
OpenGL (and DirectX) works like this: The CPU issues commands which are put in a queue. The driver then processes these commands in order and in turn produces commands that the GPU executes. This could mean that most commands (even a buffer flip = BufferStrategy.show()) would be non-blocking, but the command queue has a limited length. If the command queue is full and you try to add a new command it will block until there is space in the queue. This means that any command that ends up in the command queue might end up blocking for a few milliseconds. However, this will only happen if the CPU is feeding commands faster than the driver and the GPU can consume them. There are a number of commands that always block though. For example reading back image data to the CPU from the GPU will almost always block, since the all commands that draw to the image has to be completed before the read back can be done.
This does not directly map to Java2D though. Java2D may be forcing additional synchronization between the GPU and the CPU depending on drivers, OS and graphics library (OpenGL, DirectX, e.t.c). Therefore it is pretty much impossible to give a clear answer to you.