重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Go的gc没有jvm成熟;
目前创新互联建站已为1000多家的企业提供了网站建设、域名、雅安服务器托管、网站托管、企业网站设计、沅陵网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Go本身也不会比java产生更多的垃圾(等java有值类型,object在内存能连续分布再说)。
Go 1.5的gc初步做到精确的、并发的,STW gc;
相比jvm的G1缺少:可压缩、可移动、分代式的特性。这些以后都会有。
具体细节google一下,有相关文档。
1:go与c语言相比,go有垃圾回收,不会造成内存泄露问题,go的语法简洁优美,同样的c++100行代码go大概50行可以做到,go的目标是能做C++能做的事,虽然目前可能不太实际
2:go的并行机制并不是一般的线程,通过channel和goroutine来实现,比线程还要轻量级很多,所以go适合高并发的服务器端
3:go是系统级别的语言,相当于c语言,java c#都是算比较高级的语言,这个不太好比,效率的话目前确实是要高一些,而且不需要外部依赖,所以go还是很强大的
Go的内存回收还不是很完善。这对内存捉鸡的移动设备是不小的弊端,因为内存贵而且越大越费电。虽说JAVA内存管理也好不到哪去,但是在对性能敏感的地方可以换JNI。
所以性能上Go是很尴尬的。
加上Go的资源不如JAVA丰富,IDE不如IntelliJ 成熟,Go用来开发只是说说而已。
所以开发效率Go根本不能和JAVA比。
个人认为Google目前需要的是类C#的兼具功能、性能、可移植性强的Native语言。