跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 菜鸡提问, springboot 的 service 单例模式下,全局变量使用 static 修饰与不适用 static 修饰,在效果上有区别吗
未分類
28 3 月 2020

菜鸡提问, springboot 的 service 单例模式下,全局变量使用 static 修饰与不适用 static 修饰,在效果上有区别吗

菜鸡提问, springboot 的 service 单例模式下,全局变量使用 static 修饰与不适用 static 修饰,在效果上有区别吗

資深大佬 : EminemW 22

问题应该写的很清楚了把,我一般是用 static 修饰的,准确的做法是修饰还是不修饰呢。

大佬有話說 (12)

  • 資深大佬 : kookio

    没懂说的啥效果,static 修饰直接通过类名就能调用,类加载时就会被初始化,否则只能通过 new 的对象调用,和单例有啥关系

  • 資深大佬 : xhinliang

    看个人喜好。。。

  • 資深大佬 : gemini767

    不要乱写代码。。。。
    首先 static 的存放不一致,其次加载方式不一致,乱写只会给自己或者他人埋坑

  • 資深大佬 : wysnylc

    那有什么岁月静好,只不过有人在替你负重前行

  • 主 資深大佬 : EminemW

    @kookio 我的意思是 比如在这个 Service 里面有一个全局变量 /常量,假设它名为 EXPIRE,这个 EXPIRE 会被 Service 里面的几个方法使用,(外部不需要调用这个 EXPIRE ),那它用不用 static 修饰都不影响使用效果吧。

  • 主 資深大佬 : EminemW

    @gemini767 SpringBoot 中的 Service 默认是单例的吧,在这种情况下,如果我有个类缓存 LoadingCache,那它用 static 修饰跟不用 static 修饰的效果是一样的吧。我一般是会用 static 修饰的,只是不知道哪个更好

  • 主 資深大佬 : EminemW

    @xhinliang 我一般都是加上 static 的。。

  • 資深大佬 : cccy0

    常量还是加上 static 比较好, 如果在别的类中使用这个常量, 就不用注入这个 service 了

  • 資深大佬 : gemini767

    @EminemW loadingCache 没必要是全局变量,每一个 service 的 guava 肯定有自己业务场景,没必要去做到全局使用吧,我理解的全局变量一般是配置参数,环境变量之类的,减少业务参数全局飞的现象

  • 資深大佬 : kookio

    @EminemW 光讲使用效果没区别,不加 static 是属于对象,加 static 属于类,两者在内存中存放的位置不一样,一般如果只是对象自己使用就不用加了,要被外部类使用就加上,还有严格来说 Java 没有全局变量这个说法,叫成员变量和静态变量。

  • 主 資深大佬 : EminemW

    @kookio 感谢,这样讲我就懂了

  • 主 資深大佬 : EminemW

    @kookio 这样看来我原来大部分加 static 的变量,可以不用加了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具