OopsDocker
2020-12-10 13:15
采纳率: 60%
浏览 88
已采纳

单例(singleton)模式与全局变量的区别是什么?

单例(singleton)模式与全局变量的区别是什么?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • Salted-fish 2020-12-10 14:10
    已采纳

    单例指的是每次创建的对象都是同1个对象.只new 1次对象,每次获取都是同1个对象.
    全局变量是指对象里面定义的变量.全局变量也被称之为状态.
    局部变量是指方法里面的变量.
    类变量是全局变量加上static.

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 放风喽 2020-12-10 13:53

    这两个东西有关系吗??

    评论
    解决 无用
    打赏 举报
  • 千星流 2020-12-10 14:09

    单例模式是设计模式的一种,意思是只能创建一个对象,每次访问都会是这个对象,不回在创建一个新的对象。
    全局变量是一个可以在任何地方访问的变量。
    这两个没有相关之处,所以所谓的区别也就没有意义了

    评论
    解决 无用
    打赏 举报
  • Salted-fish 2020-12-10 14:18

    单例的时候,因为是同一个对象.多线程的时候.全局变量是所有方法共享的.所以会造成数据混乱.
    多线程的时候要么多例,要么尽量不要用全局变量.否则就要加锁

    评论
    解决 无用
    打赏 举报
  • Salted-fish 2020-12-10 14:20
    评论
    解决 无用
    打赏 举报
  • Salted-fish 2020-12-10 14:27

    你也可以这么理解.全局变量只有在单例的时候才会产生多线程的问题.

    评论
    解决 无用
    打赏 举报
  • Salted-fish 2020-12-10 14:47

    忘了还有个,类变量是所有对象共享的.多例模式下.类变量会产生多线程的问题

    评论
    解决 无用
    打赏 举报
  • 邕南居士 2020-12-10 14:59

    所谓全局变量也只是在某一个文件内公用,单例模式是在整个程序周期内都只有一个实例。

    评论
    解决 无用
    打赏 举报
  • IAmLinGe 2020-12-10 17:30

    这两个东西放在一起对比就很离谱。被采纳的回答也很离谱,就硬扯。不,是胡扯。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题