new Thread()创建了一个Thread对象,并调用了该线程对象的start()`方法时,Java虚拟机会执行以下步骤:start()方法的调用标志着新线程已经准备好执行,但它还没有开始执行。此时,线程被加入到线程调度器的可执行队列中,等待CPU时间片。Runnable对象的run()方法。这意味着run()方法内部定义的代码现在开始执行。start()方法时,你并不是直接启动run()方法的执行,而是通知JVM这个新线程已经准备好运行,JVM随后在适当的时候(即线程被调度到时)调用run()方法。这样设计允许Java的线程模型更好地与操作系统交互,实现线程的管理和调度。