小径分叉的花园

Ting 的生活与想法记录

12 Jul 2013

Java 并发编程之 ConcurrentHashMap

此篇文章是作者两年前发布在黄金档的文章。 ConcurrentHashMap 是一个线程安全的 Hash Table,它的主要功能是提供了一组和 HashTable 功能相同但是线程安全的方法。ConcurrentHashMap 可以做到读取数据不加锁,并且其内部的结构可以让其在 …

12 Jul 2013

Java 并发编程 J.U.C 之 Condition

此篇文章是作者两年前发布在黄金档的文章。 在上一篇中,我们了解了下 J.U.C 的锁的获取与释放的过程,这个过程主要通过在 A.Q.S 中维持一个等待队列来实现,其中我们也提到了,在 A.Q.S 中除了一个等待队列之外,还有一个 Condition 队列,在了解 …

10 Jul 2013

JDK bin 目录下的常见命令

作为一个 Java 开发,每天都需要和 JDK 打交道,而每一个 Java 开发都应该熟悉 JDK bin 目录下提供的一些命令。 java 和 javac 在 JDK bin 目录下众多的命令中,最常用的当然就是 java 和 javac 了,java 命令无需多言,就是启动一 …

10 Jul 2013

Java 并发编程 J.U.C 之锁的获取与释放

此篇文章是作者两年前发表在黄金档的文章。 上一篇文章中,我们对 J.U.C 的一些大概的情况做了了解,在这一篇文章我们将来以 ReentrantLock 为例,来分析一下锁的获取和释放的过程,让大家能够对锁的获取和释放的整体过程有一个了解。 一、锁的获取 先看下 …

10 Jul 2013

Bash Job Control

这两天在给 HotCode 写测试脚本,其中用到了 Bash 的任务控制功能,说白了就是把一个任务放到后台,拉到前台之类的操作,这里做一下总结。 开启任务控制 首先,如果要在 Bash 脚本中使用 Bash 的任务控制功能,必须先执行下面这个命令: set -m 这个命令的意思其 …

21 Jun 2013

成就达成:4clojure 题目全破!

经过了一个多月的努力,终于将 4clojure.com 上面的的题目全部解出了,经过这段时间不断地用 clojure,对 Clojure 也有了一些基本的认识,目前让我觉得 clojure 强大的地方在于: 和命令式语言完全不同的编程方式,编程过程就像是不断地数据转换的过程,它给 …

12 May 2013

贡嘎全线徒步穿越 -- Part Two

贡嘎全线穿越第一篇见:http://blog.khotyn.com/blog/2013/05/07/gongga-hiking-part-one/ Day Four 昨晚睡得非常舒服,一扫了昨日的疲惫,可是天公不作美,山上的云看起来很厚,有点担心今天能否看到贡嘎主峰。一行人吃过了 …

09 May 2013

Clojure 如何判断一个序列中是否存在某个元素

最近一直在看 Clojure,经常碰到的一个问题是怎么判断一个序列中是否存在某个元素。对于这个问题的第一反应就是用contains?来判断,但是contains?的第二个参数是key而不是元素的值,对于 vector 或者 array 这样的数据结构不能做判断: user=> …

07 May 2013

贡嘎全线徒步穿越 -- Part One

清明节在家宅了三天,非常地不舒服,某日在内网看到了贡嘎徒步的召集贴,脑袋一热就报名了,前期买了很多的装备,做了一些准备,期间还四川还发生了地震,差点退缩了,不过最后还是出发了。 Day One 前一天从杭州飞到成都,一大早从成都出发,海拔一路上升,到康定进行了一些补给,到了一个叫 …

31 Mar 2013

杂事儿

一、坚持 最近颇为得意的几件事儿,便是年后坚持做了几件事儿,每天背一点英语单词,每天写日记。 背单词我是通过「拓词」这个应用来背的,但是这段时间坚持下来,没有特别好的效果,这个背单词的方法不是正确的方法,背了以后你只能照着「拓词」给出的答案来选,而很难直接给出单词的意思,更不用说 …