个人体验: go 的优势是: 1 、 协程+标准网络库都做了非阻塞处理(比协程更重要) 2 、 打包方式
Java 的优势是: 1 、 生态 2 、 市场
在 web 系统开发效率和规范性: Java >> go
你在 web 领域遇到的问题,在 Java 中 99.99%都能找到解决方案和类库。
至于别人吹嘘的 go 省内存和 cpu ,看看就好,特别是啥 Java 项目重构为 go 就省了多少内存,cpu 的。 能节省内存,肯定是逻辑优化带来的,单纯语言的切换,能带来 1 倍内存差距?想多了,算下 go 的一个对象比 Java 节省多少内存就知道了。 cpu 节省的,只能说,框架功能越少,cpu 越低。
真正在 web 领域中性能和开发效率高于 Java 的,应该是 C#,但国内市场不好找工作(薪资对比 Java 会低些)。 go 比 Java 更适合的业务场景是:中间件。