我可以在多个线程中共享 Javassist 类以在 Web 应用程序中获得更好的性能吗?我认为我可以使用 for 创建一个缓存,ConcurrentMap
以proxyClass
避免在每个页面请求中创建。
我的代码是:
ProxyFactory factory = new ProxyFactory();
factory.setFilter(IGNORE_BRIDGE_AND_OBJECT_METHODS);
factory.setInterfaces(new Class[] { type });
Class<?> proxyClass = factory.createClass(); // can I cache here after class creation?
Object proxyInstance = ...; // objenesis creates new instance here
setHandler(proxyInstance, myCustomHandlerHere);
更新:我看到了 Javassist 代码,Javassist 还提供了缓存。