zoukankan      html  css  js  c++  java
  • 关于javaagent拦截不到File类的问题

    main类:

    Java code
     
    ?
    1
    2
    3
    4
    public static void main(String[] args) {
            File file = new File("e:\3.txt");
            System.out.println(file.getName());
        }


    premain类:

    Java code
     
    ?
    1
    2
    3
    4
    public static void premain(String agentArs, Instrumentation inst) throws IOException {
            // 初始化配置
            inst.addTransformer(new ThunisoftClassFileTransformer());
        }


    转换器类:

    Java code
     
    ?
    1
    2
    3
    4
    5
    6
    7
    public byte[] transform(ClassLoader loader, String className,
                Class<?> classBeingRedefined, ProtectionDomain protectionDomain,
                byte[] classfileBuffer) throws IllegalClassFormatException {
            className = className.replace('/''.'); 
            System.out.println(className);
            return null;
    }



    拦截什么都不干,只是输出拦截到的类,执行结果只能拦截到以下类,为什么拦截不到File类???贴图有点问题,我就直接贴运行结果了。求大神解答啊,这个拦截的类到底是怎么定义的,是拦截哪些类啊,为什么会没有File类?
    java.lang.invoke.Method
    java.lang.invoke.Method
    java.lang.invoke.Method
    java.util.function.Func
    java.lang.invoke.Method
    java.lang.invoke.Method
    java.lang.ClassValue
    java.lang.ClassValue$En
    java.lang.ClassValue$Id
    java.lang.ClassValue$Ve
    java.lang.invoke.Member
    java.lang.invoke.Method
    java.lang.invoke.Method
    sun.misc.PostVMInitHook
    sun.usagetracker.UsageT
    java.util.concurrent.at
    sun.usagetracker.UsageT
    sun.usagetracker.UsageT
    sun.usagetracker.UsageT
    java.lang.ProcessEnviro
    java.lang.ProcessEnviro
    java.lang.ProcessEnviro
    java.util.Collections$U
    java.lang.ProcessEnviro
    java.util.HashMap$Entry
    java.lang.ProcessEnviro
    java.util.HashMap$Entry
    java.lang.ProcessEnviro
    sun.usagetracker.UsageT
    java.io.FileOutputStrea
    sun.launcher.LauncherHe
    hello.IOTest
    sun.launcher.LauncherHe
    3.txt
    sun.misc.Signal$1
    java.lang.Shutdown
    java.lang.Shutdown$Lock

  • 相关阅读:
    如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化
    CentOS 6.5静态IP的设置(NAT和桥接都适用)
    myeclipse里如何添加mysql数据库
    Attribute value is quoted with " which must be escaped when used within the value 问题解决
    CentOS 6.5安装之后的网络配置
    Apache server for win解压版的安装与配置
    Oracle SQL 基本操作之 用户权限管理方法
    CentOS 6.5的安装详解
    IO类01
    可见性的问题
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/6425195.html
Copyright © 2011-2022 走看看