猿问

java 中静态方法

关于静态方法有些疑问,请高手们指点一下:

比如:

有一个工具类Util.java,里面有一个方法和成员变量,都是static 类型。

 

public static HashMap<String, String> orgMap = new HashMap<String, String>();

protected void buildMap(String MapDataPath)

{

    orgMap.clear();

    .......

}

 

另外有三个java 文件要使用这个工具类。

我的疑问是,如果我同时运行这三个java程序,使用的是同一个 orgMap 吗? 请高手们详细指点一下,非常感谢~~


繁星coding
浏览 409回答 6
6回答

富国沪深

如果在同一个jvm里运行,就是同一个实例。如果三个程序分别在不同的jvm里运行,则在每个jvm里有单独的实例。

慕码人2483693

你所说的 三个程序我不太明白什么意思 反正每个线程过来访问 这个orgMap都是同一个

米脂

当程序运行起来,orgMap 就创建好了,所有线程调用的是同一个对象

GCT1015

这个会出现线程安全的问题吧 8)

跃然一笑

java中的静态方法是在程序运行起来之后就创建好了,也就是说静态方法里面的变量也已经new好了,所以无论多少线程访问都是用的同一个orgMap

精慕HU

静态变量是属于class的,所以是同一个
随时随地看视频慕课网APP

相关分类

Java
我要回答