首页 > 其他 > 详细

静态变量的加载问题

时间:2015-07-18 22:51:32      阅读:602      评论:0      收藏:0      [点我收藏+]

经常会有疑问,一个类的静态变量到底会在什么时候真正创建

今天实验了下,得出如下结论。

一个类的静态变量只会在该类被实例化,或者该类调用了静态变量、静态方法的时候创建。如果该类在其他类中只是定义变量,没有实际操作,静态变量也不会被实例化。


对于单例的饿汉模式,以前一直以为只要容器中有该类,就会创建单例对象,实际上是错误的。如果一个单例类仅仅有创建对象和操作该对象属性的操作,此时用饿汉模式非常好,因为它线程安全。

如果单例类有其他静态方法的操作,就有可能实例化了不想实例化的对象,造成该资源浪费。

此时可以用双重检查,或者内部类的方式构造性能好的单例



静态变量的加载问题

原文:http://my.oschina.net/everyDay111/blog/480195

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!