
Java并发编程
文章平均质量分 88
Scub
这个作者很懒,什么都没留下…
展开
-
双重检查加锁单例模式
双重检查加锁单例模式为什么失效,多线程下怎样实现安全的单例模式。了解Java内存模型,同步的语义原创 2015-02-14 20:15:48 · 4950 阅读 · 0 评论 -
Java内存模型jsr-133-faq
什么是内存模型?其他语言,像C++,也有内存模型吗?JSR133是什么?重排序意味着什么?旧内存模型有什么问题?没有正确同步的含义是什么?同步做了什么?FINAL字段如何改变它们的值?在新的JAVA内存模型中FINAL字段是如何工作的?VOLATILE是做什么的?新的内存模型是否修复了双重检查加锁问题?如果要写一个VM该怎么做?为什么需要关注JAVA内存模型?翻译 2015-02-13 11:47:30 · 1100 阅读 · 0 评论 -
Java中守护线程的总结
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用个比较通俗的比喻,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应转载 2015-05-17 17:43:32 · 510 阅读 · 0 评论 -
spark createDirectStream保存kafka offset(JAVA实现)
问题描述最近使用Spark streaming处理kafka的数据,业务数据量比较大,就使用了KafkaUtils的createDirectStream()方式,此方法直接从kafka的broker的分区中读取数据,跳过了zookeeper,并且没有receiver,是spark的task直接对接kakfa topic partition,能保证消息恰好一次语意,但是此种方式因为没有经过z转载 2016-09-21 08:48:06 · 3944 阅读 · 2 评论