
讨论静态变量加静态方法更好还是单例
1个回答
展开全部
无生命周期的用static,有生命周期的不用static。
需要用到面向对象行为特征的不用static,static本身不属于面向对象范畴,用了static,无法多态。
static是常驻内存的,不会被回收的,没有生命的。
说一下你用单例跟static的区别在哪。
单例的话你这个对象永远在堆内存,因为有个static的引用一直指向这个对象,所以GC不会去回收。
全部写成static方法和static变量就不一样了,这个时候你整个类中所有东西都是在方法区,即perm区的,永远不会回收。必须伴随着class的卸载而卸载。
所以在写java程序时,尽量少用static,避免perm区爆炸。
需要用到面向对象行为特征的不用static,static本身不属于面向对象范畴,用了static,无法多态。
static是常驻内存的,不会被回收的,没有生命的。
说一下你用单例跟static的区别在哪。
单例的话你这个对象永远在堆内存,因为有个static的引用一直指向这个对象,所以GC不会去回收。
全部写成static方法和static变量就不一样了,这个时候你整个类中所有东西都是在方法区,即perm区的,永远不会回收。必须伴随着class的卸载而卸载。
所以在写java程序时,尽量少用static,避免perm区爆炸。

2023-02-01 广告
价格只是购买产品或服务过程中的一项指标,如果单纯只比较价格,其实考虑并不是那么周到。价格、质量、服务、口碑、是否合适自己的情况等都需要一起考虑。以上回答如果还觉得不够详细,可以来咨询下北京磐安公司。北京磐安公司是一家专业从事高新软件的技术公...
点击进入详情页
本回答由北京磐安云创科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询