根据Java并发实践,
每个线程都有其自己的程序计数器,堆栈和局部变量。
我对“局部变量”语句感到困惑。局部变量在这里意味着什么?这是否意味着线程中共享变量的本地副本,例如,如果两个线程异步读取一个全局变量,则每个线程在其代码执行/路径中都拥有该变量的副本?
还是指的是在线程内部显式声明和创建且不共享的变量?
局部变量只是局部作用域变量。有关更多信息和示例,请参见JLS 6.3。
在以下方法
void method(String param1, int param2) {
String concat = param1 + param2;
if(concat.length() > 2) {
int length = concat.length();
System.out.println("concat is " + length + " character long");
}
}
局部变量包括方法的参数(param1
,param2
),变量在方法中声明(concat
,length
)
对于您的问题,是变量的寿命不会超出方法的执行范围。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句