ThreadSafe:诊断并发问题的利器

听到ThreadSafe这个东西我的第一反应就是, ”天啊,又出了一个静态代码分析工具”。在内部开发中引入了像PMD或者FindBugs这类的工具,又花了不少时间优化成零警告后,我感觉已经不再需要其它的工具了。不过我真的错了。

Published: 14 Mar 2014

Java函数式编程(二)

Published: 13 Mar 2014

IDE还是编辑器

你是用编辑器还是IDE?你是个铁杆的码农,还是使用IDE的娇气的开发人员?你有定制过你的vi或者emacs来提高你的工作效率么?还是说你觉得Emacs就是个废物,至少对Java来说是这样。不管怎样,这都是个有趣的话题——使用IDE和使用定制化的文本编辑器(vim/emacs/sublime...)的优缺点都是什么。当然了,我得承认,IDE和编辑器之间的区别并不是那么明显。

Published: 13 Mar 2014

Java函数式编程(一)

Published: 12 Mar 2014

Linux的10个经典彩蛋

每当你打开的Linux虚拟主机的时候,通常是为了完成工作。但是,一台普通的Linux主机上,有成千上万的开发者开发的软件,你能保证他们都是这么正经的?

Published: 11 Mar 2014

细数JDK里的设计模式

这也是篇老文了,相信很多人也看过。前面那些废话就不翻译了,直接切入正题吧~

Published: 10 Mar 2014

Java中另类使用内存的方法

sun.misc.Unsafe为你大开Java的方便之门,你可以用它做很多Java不允许的事情,在一些非常特殊的场景下它还是非常有用的。99%的时候,你都应该避免使用它,然而在有些非常罕见的情况下,只有它能解决问题。

Published: 10 Mar 2014

通过反射跟踪JVM的运行时状态

我们经常会在工作中用到反射,要么直接使用,要么通过一些框架。在Java和Scala编程里,如果想要和我们的代码进行跟踪交互,却又希望对代码透明,最主流的一个方式就是反射。不过我们用到的反射通常都局限在Java和Scala代码里,并运行在JVM中。如果我们不仅是要跟踪自己的代码,还想跟踪JVM的代码怎么办呢?

Published: 09 Mar 2014

Java那些不为人知的特殊方法

如果你用过反射并且执行过getDeclaredMethods方法的话,你可能会感到很吃惊。你会发现出现了很多源代码里没有的方法。如果你看一下这些方法的修饰符的话,可能会发现里面有些方法是volatile的。顺便说一句,如果在Java面试里问到“什么是volatile方法?”,你可能会吓出一身冷汗。正确的答案是没有volatile方法。但同时,getDeclaredMethods()或者getMethods()返回的这些方法,Modifier.isVolatile(method.getModifiers())的结果却是true。

Published: 08 Mar 2014

Java中常见的坑

概述

Published: 07 Mar 2014