Java对比GO的优劣势

笔者最近因为有个需求,二次开发了微信三方管理平台的go项目,也是借此机会聊一下使用go后的一些感受

性能对比

Java Go 优势
最低运行内存 70M 20M Java面向对象语言就注定一个实例的内存成本大于GO
打包大小 70M 28M 流水线持续部署时省下的存储非常可观
接口性能 100% 110% Gin属于轻量级框架,必然是快于Spring

开发效率

从根本来说,二者开发效率没有什么区别,但在考虑到java的隐性要求,如大家都默认MVC
模式架构开发以及面向对象语言的编程想法,想以最快时间完成接口开发是慢于go语言的

企业开发

得益于Spring框架,Java的企业应用开发是毋庸置疑强于GO的,动态字节码、反射、Agent等等。使得JAVA在架构设计、解耦、代码入侵持续集成上都是毋庸置疑的优秀

社区

在Java服务端开发时,因为拥有杀手级框架Spring,几乎所有用到的中间件或关键组件都拥有Spring-Starter版本,且社区维护上十分活跃。而GO还为在服务端开发上虽然性能极高但终究还是没有杀手级的Web框架,后续的集成几乎全靠自己装配。且已有很多Java开发的中间,这无疑使Java在技术栈选择上更加有优势。

结论

Go更适合中间件开发 , Java更适合Web开发

引路PinPoint

GO入侵式的引入
Java对比GO的优劣势_第1张图片Java使用Agent,只需要在启动命令上引入
在这里插入图片描述

你可能感兴趣的:(架构,java,golang,开发语言)