@
x940727 go 的 gc 整体表现还真是比 java 强,而且特定业务或者框架用 pool 优化,内存、gc 更优。我自己那个库,就用了大量的 pool 优化。我们很多项目也是很多语言,对比 java 和 go 的项目,go 内存、cpu 占用各项指标都吊打 java 。
"为什么头条现在也在大规模的招聘 Java 的程序员?"
——兄弟,分析问题要学会逻辑理清晰一点。大规模招聘 java 不等于不继续用 go,完全没有证据表明字节没有继续大量用 go 。而招聘这个主要涉及几个方面,一是业务线,比如偏向电商、后台、企业级等 java 已经有成熟的社区积累的,市场上也有大量的该领域的 java 从业者,反观 go,一共才诞生了多少年,社区和从业者数量没得比,字节这种业务扩张猛的,想大量招 go 的人都招不到,然后优势 java 成熟领域,何必招 go ?反而是性能敏感的领域,比如中间件、云服务这些各种基础设施,你看有几个用 java 做的?包括比如以前 ELK,现在都变成 EFK 了,为啥?你 java 的 logstash 太渣了啊!而且这还只是 go 出生太晚,如果跟 java 同时代出生,怕是没 java 啥事了,很多 appache 顶级项目怕是会用 go 实现了
"Java Servlet 同步性能依旧不好的原因就是因为在对象的生命周期中做了太多的事情"
——我不了解 java servlet,但是你们之前提到他是非异步的。如果你们确定他是同步的、阻塞 fd,那这太基础了,阻塞 fd 对线程资源的浪费肯定是影响响应的最大因素(除非你故意写对象生命周期巨大消耗的示例、让对象生命周期这些的影响超过阻塞 fd 的影响)。