- final就是最终的意思,用它修饰的类,表示这个类不能被继承。
- 修饰方法时,是把方法锁定,以防任何继承类修改它的含义。
- 修饰变量时,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
AtomicLong是作用是对长整形进行原子 *** 作。原子 *** 作是为了线程安全。
在32位 *** 作系统中,64位的long 和 double 变量由于会被JVM当作两个分离的32位来进行 *** 作,所以不具有原子性。而使用AtomicLong能让long的 *** 作保持原子型。
常用方法:
- new AtomicLong():创建初始值为0 的新 AtomicLong。
- new AtomicLong(10):创建初始值为10的新 AtomicLong。
- .addAndGet():以原子方式将给定值添加到当前值,先加上特定的值,再获取结果
- .getAndAdd():先获取当前值再加上特定的值
- .compareAndSet():如果当前值 == 预期值,则以原子方式将该值设置为给定的更新值。
- .decrementAndGet():以原子方式将当前值减 1,先减去1再获取值
- .getAndDecrement():先获取当前值再减1
- .getAndIncrement():先获取当前值再加1
- .incrementAndGet():先加1再获取当前值
- .getAndSet():先获取当前值再设置新的值
参考文章:点这里
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)