Java关键字
- Transient:变量修饰符
修饰的变量不参与序列化过程。序列化-将对象转换成以字节序列的形式,一般使用cache或者rcp的时候,都应该实现Serializble接口。实现序列化。 - Instanceof
用来运行时指出对象是否是指定类的一个实例,返回布尔类型的数值。
类似双目运算符。 - Final:修饰类、方法、变量。
修饰类时,表示该类不能被继承,;类的成员变量可以指定其他类型,但是类中的方法隐形指定为final。
修饰方法时:锁定方法,不允许继承类修改其含义与内容。提升效率,内嵌方法。实际上就是不能重写,但可以重载。需要注意的是当父类方法使用private修饰时,其子类是不能直接继承该方法。故而可以换真式的重写(实际是新方法)。
修饰变量:表示常量,只能被赋值一次,无法修改,如果是基本类型, 初始化后就不允许修改,如果是引用类型,初始化后不能改变其引用,
但可以改变其引用的对象。
修饰类的成员变量时,必须在定义时,或者构造器中进行初始化赋值 只有在编译期间,确切知道final变量值的情况下,编译器才会直接进 优化,把变量当初编译器常量。 - Static:
修饰的方法是没有this方法。方法内部不能调用其他没有static修饰的方法,反过来可以,在没有创建任何对象的前提下,仅仅通过类本身来调用static方法,这是该方法的主要作用:方便在没有创建类对象的情况下进行调用。
修饰的变量:静态变量,静态变量被所有的对象共享,在内存中只有一个副本,当且仅当在类的初次加载时被初始化,,非静态对象是对象独有的。
Static代码块,放置于类中任何一个位置,在类被第一次加载时,按照顺序执行,并且只执行一次。
Java中Static不会影响到成员的作用域。
静态成员变量虽然独立于对象,但是不代表不可以通过对象去访问,所有的静态方法与非静态方法都是可以通过对象去访问的,前提是权限足够。
Statci不允许用来修饰局部变量。 - Volatile
并发编程关键词:一是用来实现内存模型的可见性,当一个共享变量被其修饰时,它会保证修改的值会被立即更新到主存中,当其他线程需要读取时,它会从内存中读取新值。二是禁止指令重排序。 - Synchronized
一种同步锁,必须等到线程结束,另一个线程才允许访问。