一、java中的transient变量:
如果将实例变量标示为transient(瞬态),则是告诉JVM,当试图序列化包含这个变量的对象时应跳过(或略)它。
二、volatile变量:
volatile修饰符告诉JVAM访问该变量的线程必须总是使自己对该变量的私有副本与内存中的主副本保持一致。就是说它只能用于实例变量。多个线程访问同一个实例变量这种想法非常可怕。
三、static:
可以被标示为static的有:
1、方法
2、变量
3、嵌套在另一个类(而不是一个方法)内的类。
4、初始化(静态)块
不可以被标示为static的有:
1、构造方法(static在此没有意义,构造方法只用于创建实例)。
2、类(除非它们是嵌套的)
3、接口
4、方法的局部内部类。
5、内部类方法和实例变量。
6、局部变量。