1、多个线程同时调用某个方法时(方法内没有同步代码块),他们之间所调用的方法是相互独立的吗?
是的。类中方法的定义(字节码)存储在JVM的方法区,这个区域是线程共享的。每个线程都有自己的栈(stack),用于存储线程执行方法时的局部变量和方法调用信息。这些栈是私有的,互不干扰。每个线程执行该方法时,都会从方法区加载字节码到自己的栈帧中执行,而不是直接修改方法区中的字节码。以上特点决定了多个线程调用同一方法时之间是相互独立的。
1、多个线程同时调用某个方法时(方法内没有同步代码块),他们之间所调用的方法是相互独立的吗?
是的。类中方法的定义(字节码)存储在JVM的方法区,这个区域是线程共享的。每个线程都有自己的栈(stack),用于存储线程执行方法时的局部变量和方法调用信息。这些栈是私有的,互不干扰。每个线程执行该方法时,都会从方法区加载字节码到自己的栈帧中执行,而不是直接修改方法区中的字节码。以上特点决定了多个线程调用同一方法时之间是相互独立的。