ITPub博客

首页 > 应用开发 > Java > final,volatile等关键字相关

final,volatile等关键字相关

原创 Java 作者:吃了菜菜长得快 时间:2024-06-18 10:31:43 0 删除 编辑

final:用于变量声明,表示变量不可变。用于类,表示类不能被继承。用于方法,表示方法不能被重写。

volatile: 关键字用于表示可以被多个线程异步修改的成员变量。volatile 的目标用途是为了确保所有线程所看到的指定变量的值都是相同的。Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。当变量的值由自身的上一个决定时,如n=n+1、n++ 等,volatile关键字将失效,只有当变量的值和自身上一个值无关时对该变量的操作才是原子级别的,如n = m + 1,这个就是原级别的


 native :Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),native关键字可以应用于方法,以指示该方法是用Java以外的语言实现的。  

static:在类中,用static声明的成员变量为静态成员变量,也成为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。这里要强调一下:static修饰的成员变量和方法,从属于类普通变量和方法从属于对象。静态方法不能调用非静态成员,编译会报错。静态内部类的实例化不依赖外部类的实例化,静态内部类可以应用外部类的静态变量。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038971/viewspace-3019145/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-06-05

  • 博文量
    9
  • 访问量
    9571