how does jvm schedule core 2 duo multi-thread java