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

20433 次点击
所在节点    Java
152 条回复
idblife
151 天前
@murmur
要是 go 连复杂 sql 带事务联表操作都需要顶级团队,那还能流行?
说话之前请过过脑子。。。
murmur
151 天前
@idblife 阿里京东没看谁切到 go 吧
agdhole
151 天前
asp 8 aot 做的网关,只要 45M
storyxc
151 天前
springboot 这种重量级框架内存占用高是事实,但你这个帖子喷歪了,主要是你的选型有问题。
nikenidage1
151 天前
要不试试最新的 .net? aot 之后内存也就 15m 左右吧
liangch
151 天前
还 14 年的 ID 。
Richared
151 天前
@murmur 我没有吹牛逼,我只说了个事实,首先我知道你义愤填膺,但是请你好好看看我说了啥,你看看你自己说了啥。不会再回你了,很无聊。
egfegdfr
151 天前
开发语言之间的比较,不是这么比较的, 你用一个省内存的语言来和一个耗内存高的语言来做比较, 相当于用跑车和五菱宏光比拉货能力。这个不应该是这么比的。
下面的连接是一个比较常用的 27 个语言在耗电、运行时长、运行内存的一个比较的论文的总结, 感兴趣的可以了解下。
https://www.51cto.com/article/629946.html
egfegdfr
151 天前
@egfegdfr 没有最好的工具,只有最合适的工具
aino
151 天前
梦回 2000 年
abcbuzhiming
151 天前
@idblife 没必要和那些人争,前几年互联网繁荣期,有两拨人吃到了时代红利所以一直忘乎所以,其中一派就是你现在看到的,觉得数据中心的内存很便宜。最狂的时候,我在这里见过人说什么“你连这点内存都买不起来做什么互联网”?还有一拨就是那帮 Electron 。前面那帮人是不把服务器内存当钱,Electron 这帮人则是认为用户电脑的内存不值钱。
murmur
151 天前
@abcbuzhiming electron 是跨平台的主流选择,满足一次开发 5 端( win+mac+linux+信创+阉割后上 web 服务)使用(除了 native 部分),界面开发简单炫酷,而且相比各种奇葩的框架,浏览器是最稳定、成熟,支持界面特性也是最多的,你不知道浏览器为了流畅背后做了什么优化动作

比起用户的流畅性,你是老板,你是要便宜的程序员,炫酷的界面,还是为用户省内存?
murmur
151 天前
服务器还有吹逼的余地,毕竟定制硬件,不需要移植,electron 用 h5 开发,单一个可以提供在线服务直接秒了好吧

我连 app 都不需要装,直接浏览器运行,下载 app 有更多特性,在线快速体验,这是爆杀
FishBear
151 天前
用 nodejs 实现的话 内存会稍微多一点 但是爽多了
Chinsung
151 天前
[果然吃内存,一个简单的 Java 程序就占用了 250M 内存]( https://www.v2ex.com/t/1055770#reply125)
你是不是🤡啊,隔三差五就要发一个这样的话题来哗众取宠,然后还隐藏自己的提问记录。
把这当贴吧呢
keppelfei
151 天前
无论你怎么吐槽,嘿,java 市场占有率就是比 GO 要强。
kyuuseiryuu
151 天前
如果你只关注性能,那么这个项目根本就不适合用 Java 。
abcbuzhiming
151 天前
@murmur 在经济好的时代,你但凡生产出来的东西都卖的出去,自然可以说出:“比起用户的流畅性,你是老板,你是要便宜的程序员,炫酷的界面,还是为用户省内存”。

可现在这个时代不再有了,现在是生产过剩的时代。生产过剩的时代,就是你不卷,有的是人卷,你不愿意为用户省内存,会有人愿意为用户省。汽车行业就是如此。

可以无视用户的想法节约企业成本的套路,仅限于经济高速发展,企业不愁客户的时代,别说 electron 这种恶心用户的东西,淘宝当年恨不得把网页端给砍了,像咸鱼一样彻底用 app ,当时淘宝的前端甚至在各大社区狂言:PC 端用户要对自己的处境有清醒的认知,你们就是一小撮,不值得为了你们去优化用户体验,识相点赶紧往 App 转,移动端才是未来巴拉巴拉。。。结果今年阿里破天荒的跑回来升级自己的 web 端网页。

吃到了时代红利是好事,但是不自知就很成问题了。你可以给用户喂翔,用户有时候也没办法。但是有些人如上面那些,喂用户翔还要硬按着用户的头说翔是香的,真太过分了
jinjiang2024
151 天前
要论写起来快,我会用( python 、php )
javak
151 天前
op 只是分享了下自己的人研究结果….. 各位温柔点

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

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

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

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

© 2021 V2EX