zoukankan      html  css  js  c++  java
  • 类加载机制与jdk智能调优命令

    类加载机制与JDK调优监控工具

     类的生命周期

    1.加载
    将.class文件从磁盘读到内存
    2.连接
    2.1 验证
    验证字节码文件的正确性
    2.2 准备
    给类的静态变量分配内存,并赋予默认值
    2.3 解析
    类装载器装入类所引用的其它所有类

    3.初始化
    为类的静态变量赋予正确的初始值,上述的准备阶段为静态变量赋予的是虚拟机默认的初始值,此处赋予的才是程序
    编写者为变量分配的真正的初始值,执行静态代码块
    4.使用
    5.卸载

    类加载器的种类

    启动类加载器(Bootstrap ClassLoader)
    负责加载JRE的核心类库,如JRE目标下的rt.jar,charsets.jar等
    扩展类加载器(Extension ClassLoader)
    负责加载JRE扩展目录ext中jar类包
    系统类加载器(Application ClassLoader)
    负责加载ClassPath路径下的类包
    用户自定义加载器(User ClassLoader)
    负责加载用户自定义路径下的类包

    全盘负责委托机制
    当一个ClassLoader加载一个类的时候,除非显示的使用另一个ClassLoader,该类所依赖和引用的类也由这个
    ClassLoader载入
    双亲委派机制
    指先委托父类加载器寻找目标类,在找不到的情况下载自己的路径中查找并载入目标类
    双亲委派模式的优势
    沙箱安全机制:比如自己写的String.class类不会被加载,这样可以防止核心库被随意篡改
    避免类的重复加载:当父ClassLoader已经加载了该类的时候,就不需要子CJlassLoader再加载一次

    JVM性能调优监控工具

    查看JVM的参数

     查看java系统属性

     类加载统计

    ●Loaded: 加救class的数量
    ●Bytes: 所占用空间大小
    ●Unloaded: 未加载数量
    ●Bytes: 未加载占用空间
    ●Time:时间

    垃圾回收统计

    ●soC: 第一个Survvor区的空间
    ●S1C:第二个Survvor区的空间
    ●SOU: 第一个Survivor区的使用空间
    ●S1U: 第二个Survlvor区的使用空间
    . EC: Eden区的总空间
    ●EU: Eden区的使用空间
    ●OC: Old区的总空间
    ●OU: Old区的已使用空间
    ●MC:元空间的总空间
    . MU:元空间的使用空间
    ●CCSC:压缩类的总空间
    ●CCSU: 压缩类的使用空间
    ●YGC:年轻代垃圾回收次数
    . YGCT:年轻代垃圾回收消托时间
    ●FGC:老年代垃圾回收次数
    ●FGCT:老年代垃圾回收消耗时间
    ●GCT:垃圾回收消耗总时间

    堆内存统计

    ●NGCMN:新生代最小空间
    ●NGCMX:新生代最大空间
    ●NGC:当前新生代空间
    ●S0C:第一个Sur1wor区空间
    ●S1C:第二个Survvor区空间
    ●EC: Eden区的总空间
    ●OGCMN:老年代最小空间
    ●OGCMX:老年代最大空间
    ●OGC:当前老年代空间
    ●OC:当前老年代空间
    ●MCMN:最小元空间大小
    ●MCMX:最大元空间大小

    ●MC:当前元空间大小
    ●CCSMN:最小压缩类空间大小
    ●CCSMX:最大压缩类空间大小
    ●CCSC:当前压缩类空间大小
    ●YGC: 年轻代化GC次数
    ●FGC:者年代GC次数

  • 相关阅读:
    java的构造方法 java程序员
    No result defined for action cxd.action.QueryAction and result success java程序员
    大学毕业后拉开差距的真正原因 java程序员
    hibernate的回滚 java程序员
    验证码 getOutputStream() has already been called for this response异常的原因和解决方法 java程序员
    浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓 java程序员
    你平静的生活或许会在某个不可预见的时刻被彻底打碎 java程序员
    Spring配置文件中使用ref local与ref bean的区别. 在ApplicationResources.properties文件中,使用<ref bean>与<ref local>方法如下 java程序员
    poj1416Shredding Company
    poj1905Expanding Rods
  • 原文地址:https://www.cnblogs.com/wnlsq/p/12240729.html
Copyright © 2011-2022 走看看