loadedclasses使用手册

1.  介绍

在JavaWeb工程中有可能无意引入过多无用第三方jar包,导致传输速度慢、启动加载慢、有可能影响到运行性能降低。我们需要对这些无用第三方jar包进行清理,单纯靠人工排除工作量还是蛮大。

这时我们可以借助loadedclasses对正在运行中的jvm进行分析,分别监测出:

    • 已被jvm加载的jar包 (如果相关代码未执行到,jar不会被加载
    • 工程在打包时引入的jar包
    • 建议移除的jar包

根据监测结果辅助人工进行工程减肥

 

      优势PK:

      JVM 自带的启动参数-verbose:class 只能分析启动时加载的jar包,而此工具可以分析运行时加载的jar包

2.  应用

loadedclasses是个带main入口的jar包,可以通过“java -jar”命令启动。

loadedclasses.jar参数列表:

参数位置

必填

参数描述

1

可选

jvm进程ID,可以通过jps命令获取

2

可选

监测结果文件输出路径

3

可选

loadedclasses.jar路径

如果3个参数都为空,将输出当前主机所有运行的jvm进程ID。通常情况下只要pid这个参数就可以了。

 

Windows

  java -Xbootclasspath/a:%JAVA_HOME%/lib/tools.jar -jar loadedclasses.jar PID

Linux

  java -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar -jar loadedclasses.jar PID

 

3.  演示

  1. 执行命令


  2. 查看结果
    loadedclasses-20150929161440190.txt

    内容解释:
       
     RUNTIME LOADED CLASSES      运行时加载的class(运行时的分析,工程运行一段时间才更准确
        RUNTIME LOADED JARS             运行时加载的jar包(运行时的分析,工程运行一段时间才更准确
        DEPENDENCE JARS                    通过依赖分析出的jar包(根据目录分析,weblogic/jboss容器不能参考它,ATG不能参考它)
        SUGGEST REMOVE JARS           推荐移除的jar包(根据目录分析,需要经过测试验证)

4.  附件下载

loadedclasses.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值