
JVM
不落叶的榕树
有朋自远方来,不亦乐乎
展开
-
parallel Scavenge 收集器
简介: 新生代收集器,复制算法,并行收集,面向吞吐量要求(吞吐量优先收集器)。 吞吐量=用户代码运行时间/(用户代码运行时间+垃圾回收时间) -XX:MaxGCPauseMillis:控制最大垃圾收集停顿时间,大于零的毫秒数。 -XX:GCTimeRatio:吞吐量大小,0到100的整数,垃圾收集时间占总时间的比例,计算1/(1+n)gc时间...原创 2018-07-29 09:47:38 · 325 阅读 · 0 评论 -
JVM 内存管理-----JVM如何判断对象已死
分享前抛出几个问题?▪ 如何判断一个对象是否存活着?▪为什么java堆内存要分代?▪一个对象从创建到被回收经历了哪些过程,如果是很大的对象呢?▪哪些情况会报outofMemoryError,StackOverFlowError?▪Jvm调优的配置参数,你都知道么? 一、对象已经死了么?▪引用计数法?▪可达性分析? 引用计数法对象有被引用,则引用计数器...原创 2018-08-05 09:30:01 · 214 阅读 · 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 · 1297 阅读 · 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 · 178 阅读 · 0 评论