仓酷云
标题:
了解下JAVA的Java多线程:“JUC原子类”04之AtomicReference原子类
[打印本页]
作者:
飘灵儿
时间:
2015-1-18 11:00
标题:
了解下JAVA的Java多线程:“JUC原子类”04之AtomicReference原子类
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
AtomicReference先容和函数列表
AtomicReference是感化是对"对象"举行原子操纵。
AtomicReference函数列表
//利用null初始值创立新的AtomicReference。
AtomicReference()
//利用给定的初始值创立新的AtomicReference。
AtomicReference(VinitialValue)
//假如以后值==预期值,则以原子体例将该值设置为给定的更新值。
booleancompareAndSet(Vexpect,Vupdate)
//猎取以后值。
Vget()
//以原子体例设置为给定值,并前往旧值。
VgetAndSet(VnewValue)
//终极设置为给定值。
voidlazySet(VnewValue)
//设置为给定值。
voidset(VnewValue)
//前往以后值的字符串暗示情势。
StringtoString()
//假如以后值==预期值,则以原子体例将该值设置为给定的更新值。
booleanweakCompareAndSet(Vexpect,Vupdate)
复制代码
AtomicReference源码剖析(基于JDK1.7.0_40)
在JDK1.7.0_40中AtomicReference.java的源码以下:
publicclassAtomicReference<V>implementsjava.io.Serializable{
privatestaticfinallongserialVersionUID=-1848883965231344442L;
//猎取Unsafe对象,Unsafe的感化是供应CAS操纵
privatestaticfinalUnsafeunsafe=Unsafe.getUnsafe();
privatestaticfinallongvalueOffset;
static{
try{
valueOffset=unsafe.objectFieldOffset
(AtomicReference.class.getDeclaredField("value"));
}catch(Exceptionex){thrownewError(ex);}
}
//volatile范例
privatevolatileVvalue;
publicAtomicReference(VinitialValue){
value=initialValue;
}
publicAtomicReference(){
}
publicfinalVget(){
returnvalue;
}
publicfinalvoidset(VnewValue){
value=newValue;
}
publicfinalvoidlazySet(VnewValue){
unsafe.putOrderedObject(this,valueOffset,newValue);
}
publicfinalbooleancompareAndSet(Vexpect,Vupdate){
returnunsafe.compareAndSwapObject(this,valueOffset,expect,update);
}
publicfinalbooleanweakCompareAndSet(Vexpect,Vupdate){
returnunsafe.compareAndSwapObject(this,valueOffset,expect,update);
}
publicfinalVgetAndSet(VnewValue){
while(true){
Vx=get();
if(compareAndSet(x,newValue))
returnx;
}
}
publicStringtoString(){
returnString.valueOf(get());
}
}
复制代码
<p>
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。
作者:
精灵巫婆
时间:
2015-1-20 12:42
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者:
再现理想
时间:
2015-1-29 07:09
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者:
小妖女
时间:
2015-1-31 06:50
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者:
爱飞
时间:
2015-1-31 13:25
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者:
柔情似水
时间:
2015-1-31 22:00
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者:
飘飘悠悠
时间:
2015-2-7 00:09
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者:
仓酷云
时间:
2015-2-19 03:58
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者:
兰色精灵
时间:
2015-3-6 12:40
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者:
变相怪杰
时间:
2015-3-13 01:07
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
作者:
若相依
时间:
2015-3-20 07:42
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2