首先呢,Java也是编译型的语言。Java的编译分为两个步骤,第一步是从源代码到bytecode,也就是.class文件。我们日常看到的java jar包,其实就是bytecode的分发形式。第二步是在运行时,java虚拟机会和jit合作,把bytecode在需要的时候编译成native code。所以说呢,你这个链接里的跑分比较,其实大家跑的都是编译后的native code。
其次,web框架不单单要看中对语言的执行效率,还要看IO的效率。当然这也没什么花头,java的很多框架和go的异步IO如出一辙, 说白了还是借助linux操作系统中的epoll等来减少进程堵塞。于是很多跑分中,语言的执行效率变得次要,在充分优化和合理使用nonblocking IO的情况下,一些解释型语言也能取得很好的成绩。
最后,也是最重要的,其实你看这些跑分,框架的性能都好的不行不行的,远远超过一般应用的需要。其实在实际应用中,我们的业务逻辑会更复杂,上下游服务也会更多,其实就算是好多人瞧不起的增删改查操作,并发大了也极容易产生性能瓶颈。换句话说,编程语言和框架本身是不容易成为性能瓶颈的。所以,我建议应该更多的从开发难易程度,以及以后项目长期维护的成本上来选择语言和框架,而不是看跑分。
克劳备忘录也好,凯南电报也好,有两大共同点。首先,都是以现实主义的眼光去分析双方的关系。然后,给出的建议都是阳谋,并不是什么不可告人的阴谋,执行起来需要的不是鸡鸣狗盗的小聪明,而是惊人的意志力。
而美国现在战略界现实主义被边缘化,我推测,布热津斯基,基辛格那帮人应该写过不少。不过没所谓,美国能执行大战略的时代过去了。现在这一代精英上半年能管下半年就已经很了不起了。一个需要两代人以上持之以恒去完成的大战略,搞出来他们也执行不了。
冷战时期,从杜鲁门艾森豪威尔到肯尼迪尼克松,最后到李根老布什,个人性格和政治偏好差距不要太大,但是都忠实地完成了他们历史任务,沿着围堵政策做下去。这种战略定力和延续性,世间少见。在中国领导集团上能看见一些相似的东西,但是我们离得距离太近,反而看不清。但在美国精英层身上完全看不到这一点。
个人愚见。