arthas教程2

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_39800144/article/details/100525139

本文介绍:jad,sc的使用

5.jad反编译

可以使用jad反编译class文件,中文字符会被编解码。 这里以com.runlion.fsp.credit.service.impl包下为例NCSourceServiceImpl类为例: 我们可以看到整个类的ClassLoader,从哪里加载的,以及类的完整信息;

$ jad com.runlion.fsp.credit.service.impl.NCSourceServiceImpl
$ jad com.runlion.fsp.credit.service.impl.NCSourceServiceImpl

ClassLoader:                                                                                                                                                                              
+-org.springframework.boot.loader.LaunchedURLClassLoader@681a9515                                                                                                                         
  +-sun.misc.Launcher$AppClassLoader@70dea4e                                                                                                                                              
    +-sun.misc.Launcher$ExtClassLoader@30f39991                                                                                                                                           

Location:                                                                                                                                                                                 
file:/home/fsp/servers/credit-web-1.0-RELEASE.jar!/BOOT-INF/classes!/                                                                                                                     

/*
 * Decompiled with CFR 0_132.
 * 
 * Could not load the following classes:
 *  com.alibaba.fastjson.JSON
省略。。。。。。
 *  org.springframework.stereotype.Service
 */
package com.runlion.fsp.credit.service.impl;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
省略。。。。。。
import org.springframework.stereotype.Service;

@Service(value="nCSourceServiceImpl")
public class NCSourceServiceImpl
implements NCSourceService {
    private static final Logger log = LoggerFactory.getLogger(NCSourceServiceImpl.class);
    @Value(value="${nc.credit.queryYearDiscount.address}")
    private String queryYearDiscountAddress;
    @Value(value="${nc.credit.queryYearDiscount.method}")
    private String queryYearDiscountMethod;
    @Value(value="${nc.credit.querySupplierCorpCredit.address}")
    private String querySupplierCorpCredit;
    @Value(value="${nc.credit.querySupplierAllCorpCredit.address}")
    private String querySupplierAllCorpCredit;

    public BigDecimal getDealNoBackMnyFromNC(String custcode, String companycode) {
        log.info("\u3010\u6388\u4fe1\u8c03\u7528NC\u67e5\u8be2\u7d2f\u8ba1\u672a\u9000\u91d1\u989d\u3011\u4eceNC\u83b7\u53d6\u7ecf\u9500\u5546\u7d2f\u8ba1\u672a\u9000\u91d1\u989d,\u5165\u53c2\u4e3acustcode=" + custcode + ",companycode=" + companycode + ",\u5730\u5740\u4e3a\uff1a" + this.queryYearDiscountAddress);
        OMElement omElement = null;
        BigDecimal noBackMny = BigDecimal.ZERO;
        try {
            ServiceClient serviceClient = new ServiceClient();
            String url = this.queryYearDiscountAddress;
            EndpointReference targetEPR = new EndpointReference(url);
            省略。。。。。。

6.sc 查看

使用sc命令查看一个类的加载情况

$ sc com.runlion.fsp.credit.controller.web.CreditController
com.runlion.fsp.credit.controller.web.CreditController
Affect(row-cnt:1) cost in 10 ms.
$ 

输出当前类的详细信息,包括这个类所加载的原始文件来源、类的声明、加载的ClassLoader等详细信息。

$ sc -d com.runlion.fsp.credit.controller.web.CreditController
 class-info        com.runlion.fsp.credit.controller.web.CreditController                                                                                                                 
 code-source       file:/home/fsp/servers/credit-web-1.0-RELEASE.jar!/BOOT-INF/classes!/                                                                                                  
 name              com.runlion.fsp.credit.controller.web.CreditController                                                                                                                 
 isInterface       false                                                                                                                                                                  
 isAnnotation      false                                                                                                                                                                  
 isEnum            false                                                                                                                                                                  
 isAnonymousClass  false                                                                                                                                                                  
 isArray           false                                                                                                                                                                  
 isLocalClass      false                                                                                                                                                                  
 isMemberClass     false                                                                                                                                                                  
 isPrimitive       false                                                                                                                                                                  
 isSynthetic       false                                                                                                                                                                  
 simple-name       CreditController                                                                                                                                                       
 modifier          public                                                                                                                                                                 
 annotation        org.springframework.web.bind.annotation.RestController,org.springframework.web.bind.annotation.RequestMapping                                                          
 interfaces                                                                                                                                                                               
 super-class       +-java.lang.Object                                                                                                                                                     
 class-loader      +-org.springframework.boot.loader.LaunchedURLClassLoader@681a9515                                                                                                      
                     +-sun.misc.Launcher$AppClassLoader@70dea4e                                                                                                                           
                       +-sun.misc.Launcher$ExtClassLoader@30f39991                                                                                                                        
 classLoaderHash   681a9515                                                                                                                                                               

Affect(row-cnt:1) cost in 13 ms.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • arthas教程4

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    IT云清
  • arthas教程3

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    IT云清
  • java 接口接受Date类型数据

    IT云清
  • 从100万条数据中找到极大值所在行

    先对表数据按照客户来源渠道分组,再对分组内的数据按照授信时间降序排序,序号排在第一位的记录就是我们要找的记录。

    白日梦想家
  • discuz 实现发布文章 自动提交到百度 ox_baidu_url_submit($tids)

    进入网站目录:/source/include/post 找到:post_newthread.php 备份:post_newthread.php 编辑:po...

    用户1191760
  • 日本NHK推出人工智能主播,可模拟真人主播声音播报新闻 | 黑科技

    镁客网
  • Android 发布个人组件到JCenter

    把BINTRAY_USERNAME 替换成你的bintary上组册的用户名 BINTRAY_KEY 替换成你的 Bintray的API Key 即可

    剑行者
  • 【V直播】网易有道周枫:神经翻译更懂人话,谷歌入华影响不大

    嘉宾:网易高级副总裁、网易有道CEO 周枫 【新智元导读】本周,新智元V享圈请来网易高级副总裁、网易有道CEO周枫一起畅聊机器翻译。周枫分享了有道在自然语言处理...

    新智元
  • Nginx与php-fpm之间的通信机制(一)

    讲Fastcgi之前需要先讲CGI,CGI是为了保证web server传递过来的数据是标准格式的,它是一个协议。每种动态语言( PHP,Python 等)的代...

    A梦多啦A
  • Modbus RTU驱动程序开发指引

    Modbus RTU 驱动开发 摘要 这篇笔记主要介绍基于飞思卡尔kv4x系列MCU的modbus RTU(Remote Terminal Unit)驱动程序开...

    用户1605515

扫码关注云+社区

领取腾讯云代金券