对java 一些关键字以及内存机制整理
-
static:
static用法: 方法/变量/静态代码块/静态导入
static内存机制:JVM会把类的这个静态方法和静态变量在类加载的过程中读入内存(事实上是方法区),相当于常驻内存
-
final用法:方法/类/变量
-
final内存机制:
修饰变量: final变量有3个地方可以赋值:直接赋值,构造函数中,或是初始化块中。 内存: 常量(final变量)和非final变量的处理方式是不一样的。 每一个类型在用到一个常量时,都会复制一份到自己的常量池中。 常量也像类变量(static)一样保存在方法区,只不过他保存在常量池。 可能是,类变量被所有实例共享,而常量池是每个实例独有的。修饰方法:保存在方法区,并且可以被函数代码直接替换,而不用等到执行时再决定具体是那个函数。
volatile:
synchronized: