|
|
1
10
ASM公司
使用
剩下的只是确定需要在生成器代码中参数化哪些位。输出示例
(我使用“inject”作为包。) 您还必须使用ASM的访问者类创建合成访问者:
this project 有关如何注入方法的示例。
因为这一切都将在运行时完成:
|
|
|
2
4
例如使用Javassist,但是它确实要求您的属性具有包级别的保护,而不是私有的
|
|
3
1
|
|
|
4
0
另一种避免反射和字节码的方法是使用sun.misc.Unsafe类。必须小心地处理它,而且它不能移植到所有jvm,但是它比反射快2-3倍。有关示例,请参见我的精华rmi项目。 另一种选择是生成代码并动态编译。您可以使用编译器API或BeanShell之类的库。
|
|
|
5
-2
是的,这在很多情况下都是目标。但是你现在用PropertyAccessor做什么你的表现会下降!每次要获取或设置属性时,都必须为其创建一个新实例
所以我希望我说服了你,你会用Java来保存它。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |