揭_彩222 静态变量是什么会不会被创建?

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

在java中,java的静态类、变量是存放在 全局数据区中的全局数据区是另外的一段内存區域,在程序运行期间其内容是不能发生变化的

你对这个回答的评价是?

静态类的话 会一直存在 直到项目停止运行 所以该变量也会一直存在

你对这个回答的评价是

如果该类一直存在的话就不会被销毁

你对这个回答的评价是?

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

如果是全局变量,而各个线程又都要能读写而且不能被别的线程覆盖掉,那只能是加锁

但是这样会影响多线程的并发,如果是私有变量就不存在这个问题了

得看你具体要求做什么了

本回答由电脑网络分类达人 郭強推荐

你对这个回答的评价是?

把变量声明在各自的线程函数中就可以了

如果是全局变量,各个线程都会去读写的怎么能保证不会被覆盖呢。

如果只在初始化时被赋值以后不可能会去写的字段话,可以使用readonly标记

你对这个回答的评价是?

覆盖那为什么还用全局变量?lock可以锁定且仅限于引用类型的对象,但是要不能覆盖不太清楚你想干嘛的。

你对这个回答的评价是

采纳数:6 获赞数:7 LV4

你对这个回答的评价是?

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

你把代码贴过来我给你讲,我用手机不好写代码
第一 你要私有化构造器
其次 定义┅个不可改变的私有的静态成员变量并初始化它
第三 提供一个public访问权限的静态方法用来过去类的实例
成员变量new的一个对象 实例化对象时叒会执行new 对象语句 这不就死循环了
懂了 实际化对象时是不会初始化静态变量是什么的
那是静态的成员的啊!!!当你通过类名.方法名时那個静态的成员变量就会初期化,而且只初始化一次
 你错了!当一个初始化时首先做的就是初始化静态块,静态变量是什么这么跟你说,当你用类名.静态方法时这个类就会加载所有的静态变量是什么,而且只是加载一次!在加载静态变量是什么时我们通过new创建了这个類的实例,但是此时不会再初始化这个静态变量是什么因为静态变量是什么只会初始化一次!!!!!!你理解错了,之所以不会死循環就是因为静态的东西只加载一次

你对这个回答的评价是

我要回帖

更多关于 静态变量是什么 的文章

 

随机推荐