Java 并发编程 J.U.C 之 Condition 此篇文章是作者两年前发布在黄金档的文章。 在上一篇中,我们了解了下 J.U.C 的锁的获取与释放的过程,这个过程主要通过在 A.Q.S 中维持一个等待队列来实现,其中我们也提到了,在 A.Q.S 中除了一个等待队列之外,还有一个 Condition 队列, …
Java 并发编程 J.U.C 之锁的获取与释放 此篇文章是作者两年前发表在黄金档的文章。 上一篇文章中,我们对 J.U.C 的一些大概的情况做了了解,在这一篇文章我们将来以 ReentrantLock 为例,来分析一下锁的获取和释放的过程,让大家能够对锁的获取和释放的整体过程有一个了解。 一、 …
Bash Job Control 这两天在给 HotCode 写测试脚本,其中用到了 Bash 的任务控制功能,说白了就是把一个任务放到后台,拉到前台之类的操作,这里做一下总结。 开启任务控制 首先,如果要在 Bash 脚本中使用 Bash 的任务控制功能,必须先执行下面这个命令: set -m 这个命令的意思其 …
成就达成:4clojure 题目全破! 经过了一个多月的努力,终于将 4clojure.com 上面的的题目全部解出了,经过这段时间不断地用 clojure,对 Clojure 也有了一些基本的认识,目前让我觉得 clojure 强大的地方在于: 和命令式语言完全不同的编程方式,编程过程就像是不断地数据转换的过程,它给 …
贡嘎全线徒步穿越 -- Part Two 贡嘎全线穿越第一篇见:http://blog.khotyn.com/blog/2013/05/07/gongga-hiking-part-one/ Day Four 昨晚睡得非常舒服,一扫了昨日的疲惫,可是天公不作美,山上的云看起来很厚,有点担心今天能否看到贡嘎主峰。一行人吃过了 …
Clojure 如何判断一个序列中是否存在某个元素 最近一直在看 Clojure,经常碰到的一个问题是怎么判断一个序列中是否存在某个元素。对于这个问题的第一反应就是用contains?来判断,但是contains?的第二个参数是key而不是元素的值,对于 vector 或者 array 这样的数据结构不能做判断: user=> …
贡嘎全线徒步穿越 -- Part One 清明节在家宅了三天,非常地不舒服,某日在内网看到了贡嘎徒步的召集贴,脑袋一热就报名了,前期买了很多的装备,做了一些准备,期间还四川还发生了地震,差点退缩了,不过最后还是出发了。 Day One 前一天从杭州飞到成都,一大早从成都出发,海拔一路上升,到康定进行了一些补给,到了一个叫 …
杂事儿 一、坚持 最近颇为得意的几件事儿,便是年后坚持做了几件事儿,每天背一点英语单词,每天写日记。 背单词我是通过「拓词」这个应用来背的,但是这段时间坚持下来,没有特别好的效果,这个背单词的方法不是正确的方法,背了以后你只能照着「拓词」给出的答案来选,而很难直接给出单词的意思,更不用说 …
Clojure 学习笔记:生命游戏 本周继续在看「Clojure Programming」这本书,这本书的第三章讲的是 Clojure 的集合和数据结构,作为这章的结束,作者举了一个「生命游戏」的例子来讲解 Clojure 数据结构的使用,作者一共提供了三种方式来解这个生命游戏,其中前两种方式比较好理解,最后一种方 …
Clojure 学习笔记:开始 一、 为什么学 Clojure Clojure 一直是我想去学习的一门语言,从去年开始就想学,但是我一直忍着没学,没学的原因一方面是想看一看自己是不是三分钟热度,过了一段时间就不再对它感兴趣了。另一方面,我更想去多学一些计算机底层的技术,因为我自认为基础并不太好,未来会成为个人发 …