忘了是谁在微博上赞叹了一句LMAX,于是乎去看了看Martin Fowler老爷子的这篇“The LMAX Architecture”。

看过以后实际上觉得也很坦然,不管是谁赞叹的LMAX,终归是一个做Java很久的人。为了找到这位的原话,我也特意又去微博搜了搜,看到了很多做Java的人在同样赞叹LMAX。实际上只要看看Martin的这文章就能明白,核心实际和Java关系不大,倒是吸收了web界一直以来的很多做法、算法和架构,最终用Java实现了一套而已。我几乎能看到Martin老爷子星星眼的样子… 当然老爷子自己也还是很有自知之明的,比如这句:

Many programmers, and I confess I fall into this camp, don’t have much mechanical sympathy for how programming interacts with hardware.

还有之前一句以脚注出现的:

I rarely think about which collection implementation to use. This is perfectly reasonable when you’re not in performance critical code. Different contexts suggest different behavior.

哎,两句话就暴露出做(Java)企业应用以及企业应用架构设计的人一直以来的问题了吧。在现在web开发技术这样一日千里的发展的情况下,企业应用那套,虽然在设计和工程上仍旧有些许价值,但也真是有点儿明日黄花了,尤其涉及到性能、吞吐量这些。

算了,没太多吐槽的想法。Java作为一个平台也有些苦涩,特别讲求高性能的场合下只要有牛人加持的话几乎都不会选Java,但是JVM作为Java平台最重要的一个组件,又积蓄着很多力量多年的成果,尤其JIT和GC方面,而且Java语言又是那么地没有门槛,感觉长期看来在必须考虑人力开销的项目和产品里,Java也还是一直会是个不错的备选。

P.S.,LMAX开源出来的disruptor,各位看那个logo熟悉不 😀