仓酷云

标题: 了解下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函数列表
  1. //利用null初始值创立新的AtomicReference。
  2. AtomicReference()
  3. //利用给定的初始值创立新的AtomicReference。
  4. AtomicReference(VinitialValue)
  5. //假如以后值==预期值,则以原子体例将该值设置为给定的更新值。
  6. booleancompareAndSet(Vexpect,Vupdate)
  7. //猎取以后值。
  8. Vget()
  9. //以原子体例设置为给定值,并前往旧值。
  10. VgetAndSet(VnewValue)
  11. //终极设置为给定值。
  12. voidlazySet(VnewValue)
  13. //设置为给定值。
  14. voidset(VnewValue)
  15. //前往以后值的字符串暗示情势。
  16. StringtoString()
  17. //假如以后值==预期值,则以原子体例将该值设置为给定的更新值。
  18. booleanweakCompareAndSet(Vexpect,Vupdate)
复制代码
AtomicReference源码剖析(基于JDK1.7.0_40)
在JDK1.7.0_40中AtomicReference.java的源码以下:
  1. publicclassAtomicReference<V>implementsjava.io.Serializable{
  2. privatestaticfinallongserialVersionUID=-1848883965231344442L;
  3. //猎取Unsafe对象,Unsafe的感化是供应CAS操纵
  4. privatestaticfinalUnsafeunsafe=Unsafe.getUnsafe();
  5. privatestaticfinallongvalueOffset;
  6. static{
  7. try{
  8. valueOffset=unsafe.objectFieldOffset
  9. (AtomicReference.class.getDeclaredField("value"));
  10. }catch(Exceptionex){thrownewError(ex);}
  11. }
  12. //volatile范例
  13. privatevolatileVvalue;
  14. publicAtomicReference(VinitialValue){
  15. value=initialValue;
  16. }
  17. publicAtomicReference(){
  18. }
  19. publicfinalVget(){
  20. returnvalue;
  21. }
  22. publicfinalvoidset(VnewValue){
  23. value=newValue;
  24. }
  25. publicfinalvoidlazySet(VnewValue){
  26. unsafe.putOrderedObject(this,valueOffset,newValue);
  27. }
  28. publicfinalbooleancompareAndSet(Vexpect,Vupdate){
  29. returnunsafe.compareAndSwapObject(this,valueOffset,expect,update);
  30. }
  31. publicfinalbooleanweakCompareAndSet(Vexpect,Vupdate){
  32. returnunsafe.compareAndSwapObject(this,valueOffset,expect,update);
  33. }
  34. publicfinalVgetAndSet(VnewValue){
  35. while(true){
  36. Vx=get();
  37. if(compareAndSet(x,newValue))
  38. returnx;
  39. }
  40. }
  41. publicStringtoString(){
  42. returnString.valueOf(get());
  43. }
  44. }
复制代码
<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