对java 一些关键字以及内存机制整理

  • static:

    1. static用法: 方法/变量/静态代码块/静态导入

    2. static内存机制:JVM会把类的这个静态方法和静态变量在类加载的过程中读入内存(事实上是方法区),相当于常驻内存

  • final:

    1. final用法:方法/类/变量

    2. final内存机制:

      修饰变量:
          final变量有3个地方可以赋值:直接赋值,构造函数中,或是初始化块中。
       内存:
           常量(final变量)和非final变量的处理方式是不一样的。
           每一个类型在用到一个常量时,都会复制一份到自己的常量池中。
           常量也像类变量(static)一样保存在方法区,只不过他保存在常量池。
           可能是,类变量被所有实例共享,而常量池是每个实例独有的。
      修饰方法:
      保存在方法区,并且可以被函数代码直接替换,而不用等到执行时再决定具体是那个函数。
  • volatile:

  • synchronized:


郎敬翔
1 声望0 粉丝