我经常发现有人会使用双括号这个反模式来进行编程(也被称为双括号初始化)。Stack Overflow上刚刚又有一个case:
ExecutorService的十个使用技巧
ExecutorService这个接口从Java 5开始就已经存在了。这得追溯到2004年了。这里小小地提醒一下,官方已经不再支持Java 5, Java 6了,Java 7在半年后也将停止支持。我之所以会提起ExecutorService这么旧的一个接口是因为,大多数Java程序员并没有搞清楚它的工作原理。关于它可以介绍的有很多,这里我只想分享它的一些较少为人所知的特性以及实践技巧。本文主要是面向初级程序员的,并没有过于高深的东西。
Published:
26 Nov 2014
Java不为人知的10个真相
你是不是一开始就用Java来编程的呢?还记得当年它还被称为"Oak",OO还是热门的话题,C++的用户觉得Java没有前景,applets还只是个小玩意,菊花也还是一种花的时候吗?
Published:
19 Nov 2014
Java的泛型擦除留下了什么?
"编译期会进行泛型擦除"已经是一个常识了(但其实真正擦除的是类型参数以)。这是由于类型擦除导致的。但并非如话多开发人员所认为的那样,<>符号里的所有东西都被擦除了。看下这段代码:
Published:
12 Nov 2014
编程语言简史
一个朋友在跟我一块吃午饭的时候问了我一个问题:现代编程语言的发展历程是什么样的,它是如何发展到现在这样的?他觉得我应该能答得上来,但其实我只能说个大概。
Published:
09 Nov 2014
JVM堆大小的自适应能力
在完善我们的测试台以便提高Plumbr排查GC故障能力的时候,我编写了一个小小的测试用例,我觉得应该会有不少人对它感兴趣。我的目标是测试JVM在不同的伊甸区(Eden), 存活区(Survivor)以及年老代空间的分配情况下的自适应能力。
Published:
07 Nov 2014
Akka笔记之Actor监控
在讲到Actor生命周期的时候,我们看到可以用不同的方法来终止一个Actor的运行(通过ActorSystem.stop或者ActorContext.stop甚至是发送一个PoisonPill消息——同样的还有Kill和gracefulStop方法)。
Published:
05 Nov 2014