go和java的优缺点

对比点 GO JAVA
使用年限 2009年1.1版本开始使用,到现在是1.9版本,库内容相对较少,需要
继续发展
1995年从JDK1.0到现在JDK1.9,库相对更加稳定,更加完整
启动程序 main.go命令秒级启动项目,用时很短 tomcat分钟级别启动项目,用时相对较长
函数返回值和接口 返回多个,接口的实现不需要过多依赖
函数值不能支持多个返回,强制你必须oop,
接口的实现必须要有依赖,
无数的设计模式和各种ioc和aop框架来支撑这语言的不足
垃圾回收机制 不是很好,一直在研究,感觉没有什么突破 相对较好
docker部署应用 不需要依赖jar包,放上代码就可以启动,无需部署 需要依赖jar包,没有的jar包每次都需要下载配置
开发效率 go语言语法相对简单,开发更快 go语言语法相对复杂,java相对较慢
处理异常 异常处理相对不是特别好 相对比较完善
编码规范 层次不是特别好,规范相对较乱 相对较好
JVM 没有 成熟
自我使用感受 go语言,很nice,一个静态编译让我直接跪了,无需部署,main.go就
可以启动项目,多平台直接编译,超级方便,go是解放程序员心智的一门语言。 Go最nice的还是其并发的简单,反向接口的设计,语法可以用无可挑剔来形容,并且从语言层次禁止你循环引用。如果能制造一个golang to jvm的东西出来,可能超级多的程序员放弃使用java.
我在使用java的时候,无时无刻都在考虑设计模式和oop的结构是否合理等等,而且这个时间特别可怕,是你无法估计的,因为我需要不断的重构,重构,再重构,java你要重构,你几乎忘记了你所使用的这个接口在哪里用过,当然你项目变大了这是通病。
使用项目 在大型项目进行重构和划分层次时显得比较差,但是小型项目比较适
合用。例如:OA系统、告警系统、ehr系统等等
在大型项目进行重构和划分层次时显得相对较好
小型项目在开发效率比go要差一点

猜你喜欢

转载自blog.csdn.net/damoneric_guo/article/details/114530999