找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 145|回复: 1

JVM 真的需要去学习吗?

[复制链接]

373

主题

55

回帖

1944

积分

管理员

积分
1944
发表于 2023-2-13 11:02:20 | 显示全部楼层 |阅读模式
[color=var(--box-foreground-color)]不是不实用,是基本上用不到,OOM 一般情况下 jstat ,jmap+mat 分析可以搞定。
如果真的是因为什么 YGC 导致了线上问题,说明公司业务很大,每个公司都有几个牛逼的人的,直接遥人即可。

不可能每个人都做到面面俱到的。 能解决常见问题即可。

回复

使用道具 举报

373

主题

55

回帖

1944

积分

管理员

积分
1944
 楼主| 发表于 2023-2-13 11:06:05 | 显示全部楼层
1. 纯八股文,在某些场景下可能投入产出比巨大,比如面试的时候;另外业务开发的时候投入产出比很小。但是有些基础知识是相通的,如果能理解和融会贯通还是有比较有价值的。
2. 工作 10 年,纯 java 工作 6 年。以前很喜欢钻 jvm 底层八股文,后面发现某些知识在工作中需要用的场景真的少,投入产出比很小,等到用到的时候也经常忘记细节需要回去补课,浪费大量时间;还不如拿这些时间去学习新的工具和语言,用这些工具和语言去解决他们专注和擅长的场景。
3. 对于 JVM 可能 gc 调优、内存泄露在碰到某些瓶颈问题下很有用。但是也可以通过其他不是很优雅的方式去解决。要综合对比,考虑投入产出比,不要因为自己对这些东西很擅长就只考虑这一种方案。不过在必须通过 jvm 原生方案解决的情况下比较有价值。
4. 不过理解这些东西在当下浮躁的面试风气真的很有用。很多面试官想了解一个候选人的深度的时候喜欢考察这些东西。另外就是面试官想通过这些东西来表现自己很高深(装逼)。
5. 以前碰到一个面试官想考察我 synchronized 底层锁升级策略,以前了解这方面的知识知道点细节。但是当我反问他了解这些东西有什么价值的时候,他回答不上来。
6. 后续反思学习这些东西对于我来说真的没多大价值:首先自己不是从事 jvm 开发,没必要投入时间了解这个东西,另外跟司内专门从事 jvm 研发的同事沟通过,他们也不会把精力投到这上面,一是因为这些东西很基础比较成熟了,被国外大牛已经优化到很高的程度了,他们没有那种能够打破这种方案再搞出更厉害的优化的能力;而且这些投入价值产出比很小,不足以支持他们的薪水所要产出的价值,所以他们( jvm 开发者)都不关注这些细节东西。另外了解这个东西对于某些到达单机同步场景瓶颈下,可能因为知道某些细节能有找出新奇的调优思路,但是我们可能更多的是从架构设计上使用分布式思路来解决这种瓶颈问题,没必要去追求极限的调优
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, 2024-9-20 05:36 , Processed in 0.030469 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表