250M 的 Java 程序,用 go 重构,只需要 8M

152 天前
 karottc

把之前的 java 程序,这周学了下 golang ,然后用 golang 重构了下,稳定运行之后内存占用 8M 。

前文:

果然吃内存,一个简单的 Java 程序就占用了 250M 内存

quarkus-graalvm 可以救 Java native 一命

程序功能如下:

这几天的结果如下:

java springboot: 250M

java (无框架):90M

java, quarkus + graalvm + native: 50M

python: 20M

go: 8-10M 。


本来想用下 rust, 发现如果不系统的学习,根本没发写出正常的程序,暂时放弃了。


go 在资源受限的情况下,确实表现很好。之前我是排斥学 go 的,这次做项目发现,也不是不能接受。我之前写 C 的,要啥啥没有,现在有了 go, 就是 c with gc ,而且库多(相比于 c )。而且交叉编译非常方便。

不过工作中暂时用不到 go ,玩完了。 我还是选择 kotlin

20441 次点击
所在节点    Java
152 条回复
goodspb
150 天前
@irezpeng #33 所以原型要用什么画?
cstj0505
150 天前
@idblife 老板会想赶紧切成汇编,比你什么 go 内存大小,速度快到不知道哪里去,这 2000 万会所嫩模不香嘛
HaroldFinchNYC
150 天前
@saranz
@yuheCai

感谢二位,那就用 tailwind 吧
xjzshttps
150 天前
@karottc 感谢,那高负载服务端使用倒是没大问题。
MoYi123
150 天前
还是 go 没什么话语权, 我看 rua 友天天脚踩一切语言, 也没人反驳, 反对就是不懂 PL 的菜鸟.
ClarkAbe
150 天前
@boqiqita 您确定吗?! 他说的不是二进制, 是内存!
Tenlearn
150 天前
@javak 我输出个 1+1 用个 spring boot 对比 Javac java ,结论是 spring boot 垃圾,搞这么多没用的依赖占用还大,这叫研究?
lxh1983
150 天前
好处就是可以糊弄客户工作量和复杂度了啊,毕竟本站大多数人都从没想过安卓手机动辄 8G 内存甚至 12G,16G 是因为 JAVA 太占资源不得已而为之的
bitfly
150 天前
C#的确省过 java,php 也是,但这 3 个语言都有个共同麻烦点,就是需要依赖平台框架,op 用 go 和 r 语言的目的就是脱离平台框架,go 确实好学易懂,写 sql 也很湿滑,的确是不二选择,c 就算了,难度系数 * N
maxzhang1985
150 天前
Go 的组件生态也很完善啊, 我框架不好用可以自己搞, 我用自己的跑业务已经好多年了,宣传一波
https://github.com/yoyofx/yoyogo
kenvix
149 天前
@murmur #120 homo 作为 webapp 为核心的 os ,内存硬盘也不可能会吃紧的
kenvix
149 天前
@itakeman #123 也不知道是哪个🤡先急了呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1058986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX