|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。
AtomicLong先容和函数列表
AtomicLong是感化是对长整形举行原子操纵。
在32位操纵体系中,64位的long和double变量由于会被JVM看成两个分别的32位来举行操纵,以是不具有原子性。而利用AtomicLong能让long的操纵坚持原子型。
AtomicLong函数列表- //机关函数
- AtomicLong()
- //创立值为initialValue的AtomicLong对象
- AtomicLong(longinitialValue)
- //以原子体例设置以后值为newValue。
- finalvoidset(longnewValue)
- //猎取以后值
- finallongget()
- //以原子体例将以后值减1,并前往减1后的值。等价于“--num”
- finallongdecrementAndGet()
- //以原子体例将以后值减1,并前往减1前的值。等价于“num--”
- finallonggetAndDecrement()
- //以原子体例将以后值加1,并前往加1后的值。等价于“++num”
- finallongincrementAndGet()
- //以原子体例将以后值加1,并前往加1前的值。等价于“num++”
- finallonggetAndIncrement()
- //以原子体例将delta与以后值相加,并前往相加后的值。
- finallongaddAndGet(longdelta)
- //以原子体例将delta增加到以后值,并前往相加前的值。
- finallonggetAndAdd(longdelta)
- //假如以后值==expect,则以原子体例将该值设置为update。乐成前往true,不然前往false,而且不
- 修正原值。
- finalbooleancompareAndSet(longexpect,longupdate)
- //以原子体例设置以后值为newValue,并前往旧值。
- finallonggetAndSet(longnewValue)
- //前往以后值对应的int值
- intintValue()
- //猎取以后值对应的long值
- longlongValue()
- //以float情势前往以后值
- floatfloatValue()
- //以double情势前往以后值
- doubledoubleValue()
- //最初设置为给定值。延时设置变量值,这个等价于set()办法,可是因为字段是volatile范例的,因而
- 次字段的修正会比一般字段(非volatile字段)有略微的功能延时(只管能够疏忽),以是假如不是想立
- 即读取设置的新值,同意在“背景”修正值,那末此办法就很有效。假如仍是难以了解,这里
- 就相似于启动一个背景线程如实行修正新值的义务,原线程就不守候修正了局当即前往(这类注释实际上是
- 不准确的,可是能够这么了解)。
- finalvoidlazySet(longnewValue)
- //假如以后值==预期值,则以原子体例将该设置为给定的更新值。JSR标准中说:以原子体例读取和有
- 前提地写进变量但不创立任何happen-before排序,因而不供应与除weakCompareAndSet方针外任何
- 变量之前或后续读取或写进操纵有关的任何包管。粗心就是说挪用weakCompareAndSet时其实不能包管不存
- 在happen-before的产生(也就是大概存在指令重排序招致此操纵失利)。可是从Java源码来看,实在此
- 办法并没有完成JSR标准的请求,最初效果和compareAndSet是等效的,都挪用了
- unsafe.compareAndSwapInt()完成操纵。
- finalbooleanweakCompareAndSet(longexpect,longupdate)
复制代码 AtomicLong源码剖析(基于JDK1.7.0_40)
<p>
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发 |
|