将Java应用程序移植到Go-有什么建议吗?

我们想用Go(现在是Java)重写kodingen.com后端,并使用jsvc作为守护程序运行。

我一生中从未接触过任何C,只有Java经验,所以我不知道这是我什至应该开始的事情。

但是,任务非常简单

  • 从mysql数据库读取shell命令

  • 排队并并行执行

  • 将每个shell输出保存到数据库

就是这样。因此,这些简单的要求使我希望我可以开始使用这种出色的语言。

您有什么建议?C还会更好吗?


绝地无双
浏览 234回答 3
3回答

胡子哥哥

我非常喜欢Go,并为该项目做出了贡献。但是,我认为您在确定使用Go之前应该考虑一些事项。Go仍然是一种不稳定的语言。它的语法,功能和软件包都可能随时更改。如果选择使用它,请确保您准备好跟上它。Go的垃圾回收仍不成熟。您的内存使用量应高于1.2 GB,但可能不会使您接近C级。没有对MySQL(或任何其他数据库)的核心支持。有几个非官方的MySQL包项目。最近更新的是 GoMySQL和Go-MySQL-Client-Library。我对它们的完整性或稳定性一无所知。至于并行执行和排队,我认为Go可以很好地做到这一点。您可能会使用exec包来执行goroutine并与goroutine并行化。

慕的地10843

随行语言常见问题解答:Go项目的构想是使编写内部使用的服务器和其他软件的类型更容易,但是对于大规模生产而言,实现还不够成熟。据我所知,Go的垃圾收集器和调度程序尚未准备好。而且它的编译器还没有充分优化,反正C编译器已经改进了20年。如果要在生产站点中使用它,则等待Go足够成熟是更好的选择。但这并不意味着Go不是学习的好语言。实际上,我很乐意使用它来开发一些有用的实用程序。编辑:切换到另一种语言之前,如何使用即将发布的JDK 7做一些实验。垃圾收集中有一些改进。您可以检查一下您的情况是否更好的内存管理。

白猪掌柜的

我认为随着最近出现的紧急/恢复问题,Go开始成为网站后端的可行选择。我一直在使用Go运行几个简单的Facebook应用程序,但是让整个应用程序因地图键错误或空指针异常之类的原因而感到沮丧。有了紧急/恢复功能,就可以管理崩溃。关于您的要求-适用于mysql和shell命令。但是要准备修补一些库:)
打开App,查看更多内容
随时随地看视频慕课网APP