java 静态变量和静态常量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 静态变量和静态常量相关的知识,希望对你有一定的参考价值。

参考技术A

这个涉及到JAVA的内存机制,我也是不是很精通,就简单说一下在下的想法:

Java文件在编译期被Java编译器编译诚.class文件,在服务器启动时,服务器需要用到的.class文件会被Java类型加载器加载进Java虚拟机的内存,在Java虚拟机内存的方法区存储虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。在方法区中存在一个叫运行时常量池的区域,它主要用于存放编译器生成的各种字面量和符号引用。

这里值得注意的是方法区只是存储内存中的虚拟机加载的类信息。

静态常量在编译期被初始化和分配内存,也就是说静态常量在编译就已经实例化了。而静态变量在类加载过程中的准备阶段分配内存,在初始化阶段赋值

回收时机:类被卸载时,静态变量被销毁,并释放内存空间。static变量的生命周期取决于类的生命周期

这是我个人的理解和分析,欢迎各位指出其中的错误。

Java中的变量与常量

Java中的常量

final 常量名=值;

final PI=3.1415;  //声明一个常量PI

定义常量:final double PI=3.1415926;

Java三大变量分别是  类变量(静态变量)、实例变量和局部变量(本地变量);

1.成员变量:静态变量(可跨类使用,格式:类名·静态变量)、实例变量(类内使用)

2.局部变量(当前代码块内使用,即{ }内) 

 1 public class c{
 2     static int one=1;//静态变量
 3     int  two=2;//实例变量,无法被下方代码调用
 4      
 5     public static void main(String args[]){
 6               int one=3;//局部变量
 7               System.out.println("one="+one);
 8               System.out.println("one="+one);
 9             }
 10      }

 

以上是关于java 静态变量和静态常量的主要内容,如果未能解决你的问题,请参考以下文章

关于java中静态常量的用法?

Java中的静态变量实例变量和局部变量及其特征

Java中的变量与常量

java关键字static

java final .static修饰符

Java基础语法 - 面向对象 - static 关键字