21xrx.com
2024-09-17 04:00:15 Tuesday
登录
文章检索 我的文章 写文章
Java Static 变量的生命周期
2023-06-15 17:33:48 深夜i     --     --
Java Static变量

Java编程中,static关键字的使用非常广泛,其主要作用是将变量或方法与类相关联,而不是与类的对象相关联。但是,对于static变量的生命周期我们可能不是很清楚。本文将从以下三个方面来介绍Java Static变量的生命周期:

1. 静态变量的初始化时间以及结束时间

2. 静态变量在不同类加载器加载的情况下的生命周期区别

3. 静态变量的内部原理

在Java中,static变量的初始化时间是在类加载时进行的。当一个类被第一次加载时,JVM会为该类的所有静态变量分配内存空间并进行初始化。而静态变量的销毁是在程序退出时进行的。

当涉及到多个类加载器的情况时,不同的类加载器会为静态变量分配不同的内存空间,因此会存在多份相同静态变量的情况。这也就意味着不同类加载器加载的相同类中的静态变量是不同的。

至于静态变量内部原理,简单来说,静态变量被分配在永久代中,而它的值则是存在方法区中的常量池中。当然,JDK1.8之后的版本已经把永久代替换成了元空间。

、生命周期、类加载器

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复