`
文章列表
除直接调用System.gc外,触发Full GC执行的情况有如下四种。   1. 旧生代空间不足 旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误: java.lang.OutOfMemoryError: Java heap space  为避免以上两种状况引起的Full GC,调优时应尽量做到让对象在Minor GC阶段被回收、让对象在新生代多存活一段时间及不要创建过大的对象及数组。 2. Permanet Generation空间满 Permanet Generation中存放的为一些class ...
       类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类加载阶段。对于任意一个类,都需要有加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间。这句话可以理解为:比较两个“类”是否“相等”,只有在这两个类是由同一个类加载器加载的前提下才有意义,否则,即使两个类来源于同一个Class文件,被同一个虚拟机记载,只要加载它们的类加载器不同,那么这两个类必定也不相等。        这里所指的“相等”,包含代表类的Class对象的equals()方法、isAssignableFrom()方法、isInst ...
        描述:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。         1.在Java语言里面,类型的加载、连 ...

类加载器模拟

    博客分类:
  • Java
类版本1 package com.classLoad.version1; public class Version {    public void testVersion()    {        System.out.println("我是版本1");    }} 类版本2 package com.classLoad.version2; public class Version {    public void testVersion()    {        System.out.println("我是版本2");    }}   ...
Java垃圾收集器参数总结   UseSerialGC:        虚拟机运行在Client模式下的默认设置,打开此开关后,使用Serial + Serial Old的收集器组合进行内存回收   UseParNewGC:         打开此开关后,使用ParNew + Serial Old的收集器组 ...
gc日志分析工具 性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析。 Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc日志 ...
1.当前使用的垃圾收集器 2.Java堆的大小 3.新生代和老年代的大小 4.永久代的大小 5.Minor GC的持续时间 6.Minor GC的频率 7.Minor GC的空间回收量 8.Full GC的持续时间 9.Full GC的频率 10.每个冰法垃圾收集周期的空间回收量 11.垃圾收集前后Java堆的占用量 12.垃圾收集前后新生代和老年代的占用量 13.垃圾收集器前后永久代的占用量 15.是否是老年代与永久代的占用触发了Full GC 16.应用是否显示调用了System.gc()

java 宕机分析

    博客分类:
  • Java
JAVA宕机日志信息: Current CompileTask: C2:8686925  133 %           net.sf.jasperreports.engine.export.JRGridLayout::horizontallyMergeEmptyCells @ 18 (175 bytes) 问题分析:预览报表系统崩溃。 增加启动参数:-XX:CompileCommand=exclude,net/sf/jasperreports/engine/export/JRGridLayout,horizontallyMergeEmptyCells 目前系统没有再偶发性崩溃。
Global site tag (gtag.js) - Google Analytics