返回信息流今天听朋友讲面试官问了jvm内存 堆和栈 的问题 ,问什么样的场景适合用堆,什么样的场景适合用栈。初学Java拜读了深入理解Java虚拟机的一部分。但是不太明白了解这些知识最基本最常见的用途是做什么?望各位解答,自己也有深入研究的动力和动手实践的方向。
这是一条镜像帖。来源:北邮人论坛 / java / #62363同步于 2019/7/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【问题】了解JVM内存管理和垃圾回收最基本的用途是什么
LittleP2018
2019/7/23镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
1. 知道实现细节可以帮助你写出更加高质量的代码,比如了解 jvm 内各种锁的机制和性能。
2. 线上故障可以更快定位解决问题。
其他时候好像并没啥用呵。。
了解哪些内容会被放到堆之中,哪些数据会被放到栈之中,在使用JProfiler对JVM内存快照进行分析的时候就会知道应该怎么查看分析数据。通过使用JProfiler等JVM内存分析软件,可以了解目标进程之中哪些类的实例过多,从而明白应该优化程序的哪部分逻辑。
是的,就是想知道实际应用,感觉大家讲的挺好,学习一波
【 在 xiaoxiaohai 的大作中提到: 】
: 讲明白内存管理的各个组成部分和其功能是学习的方向吧
挺有用挺有用,谢谢!
【 在 kuangfengwin 的大作中提到: 】
: 1. 知道实现细节可以帮助你写出更加高质量的代码,比如了解 jvm 内各种锁的机制和性能。
: 2. 线上故障可以更快定位解决问题。
: 其他时候好像并没啥用呵。。
了解了,谢谢!
【 在 gxlihao 的大作中提到: 】
: 了解哪些内容会被放到堆之中,哪些数据会被放到栈之中,在使用JProfiler对JVM内存快照进行分析的时候就会知道应该怎么查看分析数据。通过使用JProfiler等JVM内存分析软件,可以了解目标进程之中哪些类的实例过多,从而明白应该优化程序的哪部分逻辑。
最近遇到的问题,仅供片面的参考。
老年代GC时间长,GC后空间基本未释放,排查原因,跟FinalReference或PhantomReference有关;根本原因是数据库连接池