来看Java多线程:“JUC原子类”02之AtomicLong原子类
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到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架构开发 http://www.ckuyun.com/去下载,或到同济技术论坛的服务器ftp://www.ckuyun.com去下,安装上有什么问题,可以到论坛上去提问。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
页:
[1]