CountDownLatch和CyclicBarrier

CountDownLatch和CyclicBarrier本质是一样的,都是在每个Thread 设置 CountDownLatch或CyclicBarrier 的屏障点point, 每个Thread 计入的Condition 中队列, 执行到屏障点point时候,回调 CountDownLatch或CyclicBarrier 的await方法,在Condition 中队列遍历是否所有的Thread 都已经执行到屏障点point。但是并没有释放Thread ,Thread 一致是运行状态(可以理解成时等待其他Thread全部完成屏障点point)。 区别是: 每个Thread 到达 CountDownLatch的屏障点point 可以调用 countDown()计数-1,到全部为计数0的时候,全部其他Thread通过,继续执行或结束。 所有到达 CyclicBarrier 的屏障点point 时候,该屏障点point 结束,继续执行。如果不能全部到达(中断、失败或者超时等原因),设置 BrokenBarrierException引起所有调用await方法的“Thread”全部报错,全部要么全不 (all-or-none) 的破坏模式。 reset也是抛出BrokenBarrierException。 简而言之,CyclicBarrier 实现一致性,CountDownLatch简单计数。

Call Hierarchy

Call Hierarchy

将运行的对象放在Map 中,然后查询

http://code.taobao.org/p/roe/src/trunk/com.seirsoft.rdt.ui/src/com/seirsoft/rdt/internal/corext/callhierarchy/MethodWrapper.java

startup must to learn

大意是:Google Ventures 开图书馆了,内容丰盛:文章、指南、视频、洞见,一应俱全,快来吃呀。

这条推的时间差不多是 8 小时前,但我不确定算不算快讯。在 Google 里敲了敲中文关键词,好像没谁关注了这东西。那我姑且向大家推荐吧。在介绍主角前,我觉得有必要先了解,Google Ventures 是什么?

Google Ventures, 谷歌风投,是互联网巨头 Google 旗下的风险投资部门,自 2009 年初成立以来,已经投资了一般消费者(Consumer)、移动(Mobile)、商贸(Commerce)、企业与数据(Enterprise & Data)、生命科学与健康(Life Science & Health)、种子(Seed)这 6 大版块的 192 个项目和公司。

人脉、金钱、技术等资源,不用多说大家也有数,毕竟东家是 Google。我们就问一点:他们看项目的能力怎么样?

随便拎几家公司吧:按需打车始祖Uber、个人在线名片About.me、个人基因检测23andMe、众筹融资平台AngelList、数字化礼品卡平台 Gyft、优质博客平台Medium、智能恒温器Nest、“稍后阅读” 应用Pocket。有点兴奋?点这里看完整名单。

看到这,相信你对 Google Ventures 的水准已经有了概念。相应地,它的图书馆资源既丰富且优质。内容细节我不赘述了,毕竟每个人的兴趣不一样。了解它最棒的方法就是点进去自学。只说内容范围,共8块设计(Design)、创始人访谈(Founder Interviews)、产品管理(Product Management)、招聘(Hiring)、工程(Engineering)、创业力(Entrepreneurship)、领导力(Leadership)、营销(Marketing)。

如果有什么学习感悟,不妨和大家一同交流。

来源:36氪原创文章

空性

最需要谨记的就是不要坠入二元思考。我们的“本心”一切本自具足。它总是丰富而自足,你不应离失本自具足的心灵状态。自足的心不同于封闭的心,它是颗空的心,是颗准备好要去接受的心。如果你的心是空的,它就会随时准备好要去接受,对一切抱持敞开的态度。初学者的心充满各种的可能性,老手的心却没有多少可能性。

我们也不应贮藏知识,而应跳脱知识的羁绊。如果你搜集各式各样的知识,这样的收藏或许很好,但那不是我们的方式,别拿这种收藏在别人面前炫耀。我们不该对任何特别的东西感兴趣,如果你想充分欣赏某个事物,就得先忘却自我,像漆黑夜空接受闪电的态度一样来接受它。

机器算法

http://wenku.baidu.com/link?url=6WZl-k21Eg59Qdi-LidVnEzXu-K0SvK-Ejs5ANIKflU-6g-M7yCccFN1EJo0-_OYmzKQlLaK8du1zDyNmV9Rk6etzleA5MkhHuXCpyrddsm