仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 676|回复: 10
打印 上一主题 下一主题

[学习教程] 了解下JAVA的Java多线程:“JUC原子类”04之AtomicReference原子类

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:00:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
市场分额,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#不一定都能做到。毕竟是抄袭吗。
若相依 该用户已被删除
11#
发表于 2015-3-20 07:42:59 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
变相怪杰 该用户已被删除
10#
发表于 2015-3-13 01:07:08 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
兰色精灵 该用户已被删除
9#
发表于 2015-3-6 12:40:22 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
8#
发表于 2015-2-19 03:58:58 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-7 00:09:06 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
柔情似水 该用户已被删除
6#
发表于 2015-1-31 22:00:54 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
爱飞 该用户已被删除
5#
发表于 2015-1-31 13:25:14 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小妖女 该用户已被删除
地板
发表于 2015-1-31 06:50:18 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
再现理想 该用户已被删除
板凳
发表于 2015-1-29 07:09:51 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-20 12:42:16 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 14:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表