For the gaming community what can we do to minimize this impact? Any thoughts?
Yes, we can. We have to write games that are appropriate for Java. And maybe these are not maximum-framerate games running in a tight loop.
Make your gameloop do whats needed - and then go to sleep(). Give the JVM some time to breath.
Thats also the way Java3D is meant to operate.
To my experience a Java program will never run smoothly if you overcommit the primary gamethread. Even Java3D apps can run smoothly if not WakeupOnElapsedFrames(0) but WakeupOnElapsedTime( aGoodValue ) is used to drive the game.
In my prototype, I have an FPS slider. If you put it to 30, everything is smooth, if you goto 80, you experience teh stop-the-world phase!