![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
不落叶的榕树
有朋自远方来,不亦乐乎
展开
-
parallel Scavenge 收集器
简介: 新生代收集器,复制算法,并行收集,面向吞吐量要求(吞吐量优先收集器)。 吞吐量=用户代码运行时间/(用户代码运行时间+垃圾回收时间) -XX:MaxGCPauseMillis:控制最大垃圾收集停顿时间,大于零的毫秒数。 -XX:GCTimeRatio:吞吐量大小,0到100的整数,垃圾收集时间占总时间的比例,计算1/(1+n)gc时间...原创 2018-07-29 09:47:38 · 273 阅读 · 0 评论 -
JVM 内存管理-----JVM如何判断对象已死
分享前抛出几个问题? ▪ 如何判断一个对象是否存活着? ▪为什么java堆内存要分代? ▪一个对象从创建到被回收经历了哪些过程,如果是很大的对象呢? ▪哪些情况会报outofMemoryError,StackOverFlowError? ▪Jvm调优的配置参数,你都知道么? 一、对象已经死了么? ▪引用计数法? ▪可达性分析? 引用计数法 对象有被引用,则引用计数器...原创 2018-08-05 09:30:01 · 179 阅读 · 0 评论 -
GC问题排查
频繁GC问题或内存溢出问题 一、使用jps查看线程ID 二、使用jstat -gc 3331 250 20查看gc情况,一般比较关注PERM区的情况,查看GC的增长情况。 三、使用jstat -gccause:额外输出上次GC原因 四、使用jmap -dump:format=b,file=heapDump 3331生成堆转储文件 五、使用jhat或者可视化工具(Eclipse Memo...转载 2019-06-26 15:16:41 · 1233 阅读 · 0 评论 -
JVM 问题整理
1、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 2、Java代码是怎么运行的? 3、Java虚拟机是如何加载Java类的? 4、JVM运行内存的分类 5、如何监控和诊断JVM堆内和堆外内存使用? 6、Java四引用是什么? 7、如何理解JVM内置的编译或GC日志? 8、JVM的永久代中会发生垃圾回收么? 9、Java中的两种异常类型是什么?他们有什么区别?...原创 2019-08-12 09:31:48 · 147 阅读 · 0 评论