0 0

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

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

3个答案 按时间排序 按投票排序

0 0

采纳的答案

看你需求,
如果在运行时需要植入方法,
那用 asm或javassist 在加载类时改字节码,需要自己实现classloader,
并自己从程序上确保该类被这个classloader载入。
或者在JVM启动时,同时启动agent或javaagent,用它来监控类的装载。
orale的JVM启动之后,可以用工具(jdk自带)来attach javaagent 到运行中的JVM并使之运行,可以在这个javaagent里扫描所有加载类并监控后以后加载的类并改之。

如果在编译时需要,
那就还不如干脆继承该类,并添加自己的方法。

2013年5月17日 17:03
0 0

使用asm在运行时修改java的class,具体说明参考:http://www.oschina.net/p/asm/

2013年5月17日 16:35
0 0

如果有访问权限可以自己定义一个类继承这个StringUtil,然后再写自己的方法

2013年5月17日 16:23

相关推荐

    c#发送邮件类方法源码

    这使得用户可以在不修改代码的情况下轻松更换SMTP服务器。 ##### sendMail(MailMessage mm, string host) 这是实际发送邮件的核心方法。它创建了一个`SmtpClient`对象,并指定了SMTP服务器的地址及端口号(默认为...

    Android修改系统时间资料源码打包

    因此,只有在必要的情况下,才应使用这种方式修改时间。同时,这种操作也可能被恶意应用利用,所以必须谨慎处理。 7. **测试和调试**: 在开发过程中,我们可以通过模拟器或具有root权限的设备进行测试。对于非...

    分类信息源码 源码下载

    【标题】"分类信息源码 源码下载"指的是一个用于构建分类信息网站的源代码包,这类源码通常包含一系列的ASP文件,用于处理用户交互、数据管理和页面展示等功能。分类信息网站允许用户发布和查找各种类型的分类广告,...

    服装行业类网站源码.rar

    该程序基于ASP ACCESS环境开发, 拥有完善的网站前台和后台全智能化管理功能,完全由后台操作(如添加、修改网站基本信息、产品、企业新闻动态等), 是五金企业智能化网站建设首选! 安全建议 为确保您的网站安全...

    CF不掉血源码

    在这里,"1分不过分吧"可能意味着作者认为这段源码的价值相对较小,或者是在某种情况下,分享这样的代码并不构成很大的问题。 【标签】"cf不掉血"进一步确认了这个项目与穿越火线游戏中的不掉血功能相关,同时也...

    1153设计类网站源码 php+mysql源码

    这些模块通常经过精心设计,以便开发者可以根据需求进行二次开发,添加或修改功能,快速构建出符合设计行业特点的网站。 “www.ymjd.com”的标签可能指的是该源码的来源或曾经的应用实例,这个域名可能是某个使用此...

    批量修改文件名(附加C#源码)

    2. 定义一个方法,接收目录路径作为参数,遍历该目录下的所有文件: ```csharp public static void BatchRenameFiles(string directoryPath) { // 获取目录下的所有文件 string[] files = Directory.GetFiles...

    精选_Ring0内核层下修改或添加键值_源码打包

    在IT领域,尤其是在操作系统开发和安全研究中,"Ring0内核层下修改或添加键值"是一个关键的技术概念。这里的“Ring0”指的是操作系统的最底层,即系统核心层,它拥有最高的权限,能够直接访问硬件资源和控制其他所有...

    mp3及wma文件名修改工具源码

    在实际使用中,如果存在相同歌名但不同版本的歌曲,可能会导致重命名冲突,因此用户需要在使用前确保文件名的唯一性,或者自行修改源码以添加重复检查和处理功能。 项目的工程文件包括.U_Option.ddp、.U_Main.ddp等...

    分类信息源码,完整分类信息源码,多城市分类信息源码

    分类信息源码是一种用于构建在线分类广告平台的软件代码,它允许用户在多个类别下发布、搜索和互动处理各种信息,如二手商品交易、房屋租赁、求职招聘等。这类源码通常包含前端用户界面和后端管理系统,以及数据库...

    垃圾分类查询管理系统源码

    《垃圾分类查询管理系统源码详解及应用》 在信息化飞速发展的今天,环保意识的提升使得垃圾分类成为了社会关注的焦点。为了更好地推广垃圾分类,提高管理效率,一款名为“垃圾分类查询管理系统”的源码应运而生。该...

    APPe4a源码,各类盒子源码

    首先,"后台在线更新"意味着源码支持通过后台管理系统进行内容的动态更新,比如添加新的影视资源、修改设置等,无需重新编译或发布整个应用。其次,"生卡密"功能可能指的是生成和管理会员卡密,这在许多付费视频服务...

    C#修改网卡MAC地址的源码,可以随机生成地址

    7. **应用扩展**:虽然这个源码是为了修改单个MAC地址,但稍加修改,可以扩展为一键更换多个网卡的MAC地址,或者添加用户友好的图形界面,使普通用户也能方便地使用。 8. **安全与合法性**:修改MAC地址在某些情况...

    java源码修改教程-本地maven仓库中的三方jar包修改

    在日常开发过程中,我们可能会遇到这样的情况:第三方库的功能无法完全满足需求或者存在一些小bug,这时如果直接修改第三方库的源码,可能会带来便利。本文将详细介绍如何在本地Maven仓库中修改三方jar包的源码,...

    Java源码解析——看优秀源码最能使人进步

    java.util.ArrayList类是Java语言中的一种集合类,该类的定义、字段属性、构造函数、添加元素、删除元素、修改元素、查找元素、遍历集合、SubList、size方法、isEmpty方法、trimToSize方法等都会被详细解析。...

    最好的分类信息网站源码

    同时,“自己拿去改下就可以”意味着源码具有一定的可定制性,适合开发者根据需求进行修改。 【标签】:“分类信息 地方门户” “分类信息”标签表明该源码专注于提供分类信息服务,如上述提到的生活服务、二手...

    改变EXE的图标的软件源码

    标题中的“改变EXE的图标的软件源码”是指一种编程技术,允许开发者更改可执行文件(EXE)的图标,以个性化程序外观或与品牌形象保持...同时,这也是一种实用的技巧,可以在不重新编译整个程序的情况下更新程序图标。

    C# ListView中添加多种自定义控件源码

    然而,ListView控件的标准功能有时不能满足所有需求,这时我们可能需要对其进行自定义,添加额外的交互元素,如CheckBox或ComboBox。本文将深入探讨如何在C#的ListView中添加多种自定义控件,以增强用户界面的功能和...

    c#批量文件名修改工具源码

    3. **添加标签**: 如果我们需要给文件添加标签,可以在新名称前添加特定字符串,或者创建一个新的文件属性(如元数据)来存储标签信息。元数据的修改通常需要使用第三方库,因为.NET框架内置支持有限。 4. **异常...

    源码修改教程.rar_Change_LINEAGE SRC_lineage_lineage 1_源码修改教程

    在编程领域,源码修改是提升软件性能、修复错误或添加新功能的重要手段。 在这个教程中,"change lineage"可能指的是改变"LINEAGE SRC"项目的某些特性或行为,这通常涉及深入理解项目结构、编程语言和版本控制系统...

Global site tag (gtag.js) - Google Analytics