When programming animations and little games I\'ve come to know the incredible importance of Thread.sleep(n); I rely on this method to tell the operating system
Timing stuff is notoriously bad on windows. This article is a good place to start. Not sure if you care, but also note that there can be worse problems (especially with System.nanoTime) on virtual systems as well (when windows is the guest operating system).