关于更改jdk源码替换应用的例子

来源:互联网 发布:数据可视化 技术 本科 编辑:程序博客网 时间:2024/06/05 08:55

对应tomcat启动java -jar agent.jar install tomcat 对应的配置在Catalina,bat里边

第一个参数表示

-Xbootclasspath/p:path  让jvm优先于默认的bootstrap去加载path中指定的class

第二个表示:字节码更改的jar


切记eclipse一定要用jre而不是jdk,jre是运行环境,jvm会对jre进行先后顺序的匹配,而不是jdk,



-----------------------------------引用----------------------------------------------

-Xbootclasspath:bootclasspath   让jvm从指定的路径中加载bootclass,用来替换jdk的rt.jar。一般不会用到。
-Xbootclasspath/a:path  被指定的文件追加到默认的bootstrap路径中。
-Xbootclasspath/p:path  让jvm优先于默认的bootstrap去加载path中指定的class

命令示例:D:\tmp>java -Xbootclasspath/p:D:\tmp\boottest.jar TestReplaceJdkSource

D:\tmp\boottest.jar中有自己改动后的jdk类,只包含改动后的.class,如:java.lang.Short.class

TestReplaceJdkSource.java用来显示测试结果,如显示值:System.out.println(System.getProperty("sun.boot.class.path"));

可以看到此值发生改变,boottest.jar添加到bootClassPath的最前面。

至于Eclipse中替换则更简单,新建一个JRE,再Edit -> Add External JARS... ,添加自己编写的boottest.jar到JRE system libraries,最后要记得把刚添加的jar包按顺序放在最前面,最后运行程序时把JRE给换成自己刚创建的。


原创粉丝点击