如果不修改源码的情况下给该类添加方法

问题描述

我有一个jar文件,里面是一些工具类,但是,比如有一个StringUtil类,做一些字符串的操作,但是这个jar里面没有我想要的方法。我怎么不修改源码的情况下,给StringUtil新增方法。使用什么设计模式?

解决方案

看你需求,如果在运行时需要植入方法, 那用 asm或javassist 在加载类时改字节码,需要自己实现classloader,并自己从程序上确保该类被这个classloader载入。或者在JVM启动时,同时启动agent或javaagent,用它来监控类的装载。orale的JVM启动之后,可以用工具(jdk自带)来attach javaagent 到运行中的JVM并使之运行,可以在这个javaagent里扫描所有加载类并监控后以后加载的类并改之。如果在编译时需要,那就还不如干脆继承该类,并添加自己的方法。
解决方案二:
使用asm在运行时修改java的class,具体说明参考:http://www.oschina.net/p/asm/
解决方案三:
如果有访问权限可以自己定义一个类继承这个StringUtil,然后再写自己的方法

时间: 2024-10-26 23:38:41

如果不修改源码的情况下给该类添加方法的相关文章

无法修改源码的情况下保存文本框中内容实现换行

问题描述 无法修改源码的情况下保存文本框中内容实现换行 在网页上文本框填写内容后,保存后显示无论敲多少空格只保留一个空格,也无法换行,在无法修改源码的情况下,如何实现我填写的内容换行意思是,我只是填写人家网页上的东西,但是我点击保存后,网页上内容显示只是在我原先敲空格的地方有一个空格,无论我敲了多少空格.我敲回车的地方也无法显示回车,这是别人的网页,我该如何在文本框里加东西实现换号和空格呢. 解决方案 你敲了后台也给你剔除了 解决方案二: 用 记事本写一段,粘贴过去,一般就可以了 当然如果他比较

Android5.1.1 - APK签名校验分析和修改源码绕过签名校验

Android5.1.1 - APK签名校验分析和修改源码绕过签名校验 作者:寻禹@阿里聚安全 APK签名校验分析 找到PackageParser类,该类在文件"frameworks/base/core/java/android/content/pm/PackageParser.java"中.PackageParser类的collectCertificates方法会对APK进行签名校验,在该方法会遍历APK中的所有文件,并对每个文件进行校验.下面是该方法的部分源码: APK是一个ZIP

android-手里的Android项目就差一个订单系统了,毫无头绪,谁能给个源码链接参考下,跪求

问题描述 手里的Android项目就差一个订单系统了,毫无头绪,谁能给个源码链接参考下,跪求 手里的Android项目就差一个订单系统了,毫无头绪,谁能给个源码链接参考下,跪求 解决方案 当然你要做适当修改.数据库.服务器部署等等,不可能有拿来就能运行的程序,否则你应该花钱雇人开发算了. 解决方案二: http://download.csdn.net/detail/o1587790525/5621145http://blog.csdn.net/o1587790525/article/detail

github如何修改源码并进行提交方法

以下是github如何修改源码并进行提交方法小结: 主要是针对从网上下载的代码进行了修改后,如何提交修改后的代码到github服务器上的方法: #Get you project from github: v0id@eof ~/code $ git clone https://github.com/*******.git v0id@eof ~/code $ git status #modify file by your need, and update github source. v0id@eo

android-求教Android修改源码的问题

问题描述 求教Android修改源码的问题 想修改Android源码中Cemara类的Open方法,实现修改调用的摄像头.求教详细步骤及方法.谢谢 解决方案 1 下载完成的源码(sdk下面的都是不完成的包) 2 修改android源码中找到Open方法所在源码,建议少量的改动,保持源码的健壮 3 linux环境(不建议虚拟机,如果对电脑配置足够强大的话)编译,生产一堆img文件 4 然后就是刷机了(这里要注意的就是 vid需要和真机对应的) 接下来就是直接去尝试了,不要做之前不需要纠结太多,网上

那位大侠有基于C#的asp.net新闻网站源码,学习下

问题描述 那位大侠有基于C#的asp.net新闻网站源码,学习下,谢谢!做动态超链接的! 解决方案 解决方案二:www.51aspx.com解决方案三:引用1楼somethingjack的回复: www.51aspx.com 这个网站上有解决方案四:新闻,动态生成静态.呵呵.

android-搜索Android源码中的下拉资源

问题描述 搜索Android源码中的下拉资源 在grepAndroid源码时进行divider_holo_light,获得如下结果: ~/platform_frameworks_base/core/res/res master gg divider_holo_light . ./values/arrays.xml:137: <item>@drawable/list_section_divider_holo_light</item> ./values/arrays.xml:239:

各位高手谁有OpenPop3 源码 给我下 万分感谢!~!!!!

问题描述 各位谁有OpenPop3源码给我下急用万分感谢!-!!!! 解决方案 解决方案二:兄弟们帮忙啊急用!!!!!!!!!!!!!!!!!!!!!!!!!

EF 自关联表主键自增情况下,不能添加记录的问题,有谁解决过?

问题描述 EF 自关联表主键自增情况下,不能添加记录的问题,有谁解决过? 如题,我的系统中因为一个特定原因,需要一张自关联表(thisTable)来简化逻辑, 该表主键是自增的,结果发现无法添加记录, 错误消息:无法确定"db.thisTable"关系的主体端.添加的多个实体可能主键相同. 请问,有人解决过这个问题吗? 解决方案 自己解决了,顺便分享给大家: 在EF的设定里,自关联的表主键外键,都不能为空(为空就会破坏数据的完整性), 这在两表关联时没问题,但在自关联就有一个悖论,那就