首页 > 编程语言 > 详细

关于Java优质代码的那些事

时间:2017-04-11 17:04:53      阅读:217      评论:0      收藏:0      [点我收藏+]

      以前别人告诉我,代码都是粘贴复制,然后写多了,就有了自己的思想,然后1,2年过去了,我的代码质量并没有什么提高,问了一些博客园里的前辈,前辈们都是语重心长的说:"少年,多看书呀!",我只当是敷衍我。知道我无意中看到一篇博客面试感悟----一名3年工作经验的程序员应该具备的技能,然后结实了大师哥:5月的仓颉,然后拜读了他的另一篇文章:给Java程序猿们推荐一些值得一看的好书,我一口气买了他文章里说的《Java多线程编程核心技术》,《Effective Java中文版》,《深入分析Java Web技术内幕》,《大型网站技术架构 核心原理与案例分析》,《Spring源码深度解析》,没有全部买下,主要是外文书理论比较强烈,我理解能力和兴趣不太感冒咬文嚼字。虽然还没看完,但是我坚持着,我一下子感觉到什么叫做优质代码。

       有人说,去看java源代码呀,可能个人性格使然吧,不是那种拔尖的人才,能慢慢咀嚼枯燥无味的源码,还是靠依赖大神的文章带着我去看源码,这样进度慢点,但是我觉得适合我,我能学到东西,有所沉淀。扯远了,这边随笔的目的,主要是告我自己,这些代码,我以后也可以尝试着用,代码看起来不是那么low。

 

1.使用 AtomicBoolean 高效并发处理 “只初始化一次” 的功能要求:

 可能会AtomicBoolean 这个对我来说,我都不知道这个啥意思,

对于官方的说明是:

可以用原子方式更新的 boolean 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 
包规范。AtomicBoolean 可用在应用程序中(如以原子方式更新的标志),但不能用于替换 Boolean。

换一句话说,Atomic就是原子性的意思,即能够保证在高并发的情况下只有一个线程能够访问这个属性值。

假设不使用AtomicBoolean ,代码如下:

技术分享
public static volatile initialized  = false;

public void init(){
        if( initialized  == false ){
            initialized  = true;
            // 这里初始化代码....
        }
}
View Code

然后使用后的效果就比较明显:

技术分享
1 private AtomicBoolean done_ = new AtomicBoolean(false);
2 
3     public void init()
4     {
5         if( done_.compareAndSet(false, true) )
6         {
7             // 这里放置初始化代码....
8         }
9     }
View Code

 

2. 待续,我会持续更新,对自己代码质量有提交的代码段子,在这个随笔里面的,系希望有人扶正我的错误表达

 

关于Java优质代码的那些事

原文:http://www.cnblogs.com/Profound/p/6693903.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!