【问题标题】:How static methods and variables gets initialized in java memory system?java内存系统中如何初始化静态方法和变量?
【发布时间】:2015-06-06 19:58:25
【问题描述】:

我对java中的这部分感到困惑 -

在 java 类加载器系统加载类文件期间,它为类文件中存在的不同变量和方法分配内存 - 就像在运行时分配新对象内存一样。但是对于类中的静态变量和方法,如何以及何时分配内存? - 请帮忙。

【问题讨论】:

标签: java memory-leaks static-methods static-variables


【解决方案1】:

内存是在classloader 加载class 时分配的。这是class 的所有实例和类本身都可以访问的共享内存空间。因此在multithreading 环境中使用static 变量是不安全的。在multithreading 环境中static 变量的解决方案是将其设为final

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2016-03-05
    相关资源
    最近更新 更多