为了账号安全,请及时绑定邮箱和手机立即绑定

java 中静态方法

java 中静态方法

繁星coding 2019-03-14 18:15:21
关于静态方法有些疑问,请高手们指点一下:比如:有一个工具类Util.java,里面有一个方法和成员变量,都是static 类型。 public static HashMap<String, String> orgMap = new HashMap<String, String>();protected void buildMap(String MapDataPath){    orgMap.clear();    .......} 另外有三个java 文件要使用这个工具类。我的疑问是,如果我同时运行这三个java程序,使用的是同一个 orgMap 吗? 请高手们详细指点一下,非常感谢~~
查看完整描述

6 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

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


查看完整回答
反对 回复 2019-04-26
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

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


查看完整回答
反对 回复 2019-04-26
?
米脂

TA贡献1836条经验 获得超3个赞

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


查看完整回答
反对 回复 2019-04-26
?
GCT1015

TA贡献1827条经验 获得超4个赞

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


查看完整回答
反对 回复 2019-04-26
?
跃然一笑

TA贡献1826条经验 获得超6个赞

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


查看完整回答
反对 回复 2019-04-26
?
精慕HU

TA贡献1845条经验 获得超8个赞

静态变量是属于class的,所以是同一个


查看完整回答
反对 回复 2019-04-26
  • 6 回答
  • 0 关注
  • 408 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信