java代码转asm工具 java asm( 八 )


Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计 。
业务流程管理套件
流程驱动的软件系统构建 。
jBPM:非常灵活的业务流程管理框架,致力于构建开发与业务分析人员之间的桥梁 。
Activity:轻量级工作流和业务流程管理框架 。 github
资源
社区
Java项目中如何扩展第三方jar包中的类下面给你介绍几种方法:
一、继承你想要扩展的类,重写想要扩展的方法
这种做法是比较好的,符合面向对象的思想 。另外动作比较小 , 风险也不会很大 。但是这种方法有个前提是,被扩展的类在扩展点能用这个子类去替换 。比如说在Bean配置的过程中 , 可以用在需要这个类的地方用子类注入,而不是注入被扩展的类 。就是说原来想要扩展的类都是直接new出来的,那么我们新写的子类根本就没法在需要扩展的地方使用 。
二、直接复制一份想要扩展的类 , 在项目中创建同包同名的类
这种方法是我在网上看到的,这里利用了类加载的优先性,说的是WEB-INF目录下的类加载的优先级要比lib中jar包类的优先级要高 。
三、使用ASM等字节码修改工具,直接修改这个类的字节码
这个是终极做法了,直接把这个类的字节码修改成你想要扩展的样子 。思路相当直接,缺点就是你要对字节码非常熟悉,并且熟悉ASM这个工具 。其次这种做法的风险比较大 , 如果你提出了这种想法,很有可能被pass掉 。
怎样将Java源代码转换成Java开应用程序我试了一下 , jbuilder生成的exe文件,在没有装jre的机器上不能运行,于是我就在该exe文件的同一位置提供一个jre目录,可是该exe文件不会去自动找这个jre,应该怎样做才能使exe文件找到这个jre,并运行起来呢?
先写一个bak , 检查有没有jre,有的话就直接运行你的程序,没有的话,先安装再执行 。
---------------------------------------------------------------
jbuilder有一个隐藏的技巧可以让你从可执行文件来启动java程序,(不出现console窗口我没有做到) 。需要jbuilderx的bin目录下的这些文件:
jbuilder.exe
jbuilderw.exe (可选)
jbuilder.config
jdk.config
“jbuilder.exe”是一个通用的可执行外壳文件,用以启动java程序 , “jbuilderw.exe”好像是javaw.exe一样,它把“jbuilder.exe”包装起来,但是运行时候不显示那个console的窗口 。使用这些文件的关键是文件名 。“jbuilder.exe”查找一个文件叫“jbuilder.config”的配置文件,里面包含了运行java程序的必须信息 。同样的“jbuilderw.exe”查找“jbuilder.exe”来启动不带console窗口的java程序 。如果把jbuilder.exe重命名为“foo.exe”,那“foo.exe”将去寻找“foo.config”配置文件,同样“jbuilderw.exe”被重命名为“foow.exe” , 它会去寻找“foo.exe”文件 。
说到这里,聪明的读者应该猜到怎样利用jbuilder.exe来启动应用程序了 。只要把jbuilder.exe,jbuilerw.exe,jbuilder.config改名成相应的文件名,在jbuilder.config里面指定主类和类路径,就能够通过执行jbuilder.exe(或者被改名后的exe文件)来启动java应用程序了 。
在\jbuilderx\bin\目录下,后把jbuilder.exe,jbuilder.config,jdk.config四个文件拷贝到某目录下,然后打开jbuilder.config文件,作相应的修改:
在jbuilder.config里面找到下面两行
# start jbuilder using the its main class
mainclass com.borland.jbuilder.jbuilder----修改主类为自己希望的类
config里面可以识别的命令可以在jbuilder/bin目录下的config_readme.txt里面找到详细说明 。

推荐阅读