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

对应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给换成自己刚创建的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值