我有静态方法,它在自身内部调用另一个静态方法。
例如 :
public List<Object> static first(int id){
List<Object> list=new ArrayList<Object>();
list.add(a);
list.add(b);
list.add(c);
//calling another static method
second(id,list);
return list;
}
public String static second(int id,List<Object> listRef){
listRef.add(a);
listRef.add(b);
listRef.add(c);
}
我的问题是:
public static method first(int id);
多个线程使用不同的 id调用。
这是线程安全的方式吗?当我在方法中声明 arrayList 时,它的引用可能由其他线程共享。
问题是数组存储在堆内存中而不是单个线程堆栈中。所以我认为可能会发生许多线程共享数组引用。