对比点 | 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要差一点 |
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)