graalvm 拯救了 Java 的启动速度,但没法拯救 Java 的内存占用

2024-01-04 15:34:20 +08:00
 keepRun

前几年,我一直期待 graalvm 把 java 编译成 native image 可以大幅减少 java 的内存占用,直到今天我用 graalvm 把我一个简单的 spring + spring mvc + mybatis plus + mysql 的小项目编译成 native 后(使用 g1gc ,配置最大堆内存 64m ),一测内存占用,好家伙,占用 184m ,优化了个寂寞,直接正常用 jvm 占用也就 200m 。启动速度确实快,285ms 即可完全启动。

我彻底死心了,java 对于请求量小的小型 web 项目内存消耗太大了,以后还是转投 nodejs 、golang 搞这种小项目吧,java 内存消耗太大了。

个人感觉云原生与微服务时代,java 官方对于资源占用问题解决速度还是太慢了,我阅读了 openjdk 社区的几乎所有的 jep ,发现起码未来 5 年,java 在解决内存占用问题上是不积极的。

17241 次点击
所在节点    程序员
137 条回复
keepRun
2024-01-05 11:55:41 +08:00
@linyimin520812 不至于吧,你这情况肯定是配置有问题,换成 native 启动速度应该很快的
wWjd5V5L0636B5YV
2024-01-05 14:09:57 +08:00
@chengxiao 你看的是恶意诱导学生贷款的千锋的抖音吧 千锋赔命!出生千锋赔命
whp1473
2024-01-05 14:38:22 +08:00
spring 问题,你用 netty 直接写个 http 试试,非常小
julyclyde
2024-01-05 16:23:29 +08:00
但其实启动速度也不是啥问题
又不是经常启动
xiaocaiji111
2024-01-05 16:37:16 +08:00
@bitmin 实际差别不大,不如脚本语言改了就能看结果。编译型的都慢,比如用 java 和 go 写的项目,使用 IDEA 和 Goland 编译+启动整体时间差不多。当然 go 编译好启动更快。Java 配置好,编译会自动重新加载 Class 。
kingwrcy
2024-01-05 16:40:16 +08:00
2024 年了,你还在为 200m 内存担心个啥? 丐版 vps 都 256m 了

这个根本不是个事,java 生态这么庞大,你专注在 crud 了,不也是节省你的时间了吗?

换成 go,啥都得从头来,每个语言总归有对应的优缺点吧.

话说 200m 内存真不算大吧
991547436
2024-01-05 19:58:46 +08:00
991547436
2024-01-05 20:00:02 +08:00
@StoneHuLu 用 c#的 NPOI 加载了个 10MB 的 xlsx ,内存占用直接到 600MB
privil
2024-01-05 21:56:24 +08:00
别整 graalvm 你换 jdk openj9 内存占用好很多
cncnjcjclii
2024-01-05 22:56:38 +08:00
java 一开始设计的时候就是让程序员能更方便的进行多线程编程 每个对象都有 wait notify 每个对象都可以是互斥锁 为了实现这个功能 所有对象上面都维护了一份锁信息 加大了内存占用
jry
2024-01-06 10:13:33 +08:00
PHP 第一,不请求不占内存哈哈
patrickyoung
2024-01-06 12:31:07 +08:00
@Nazz #90 你猜为什么 splunk 卖那么贵
keepRun
2024-01-06 17:37:48 +08:00
@privil openj9 用起来有啥要特殊配置的地方吗?
wpf375516041
329 天前
lvjing2
322 天前
koupleless.io 可以了解下的,关注启动速度和内存占用的。是蚂蚁集团开源的,可以让存量应用 10 倍提升的框架
higker
124 天前
@yolee599 牛逼的
higker
124 天前
@jry 我认同

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

https://tanronggui.xyz/t/1005841

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

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

© 2021 V2EX