在动态代理的动态生成字节代码中究竟发生了什么?

时间:2018-06-15 10:40:08

标签: java jax-ws

使用VisualVM作为分析器,我们观察到在带有java.lang.reflect.Proxy.newProxyInstance的JAX-WS运行时创建的动态代理类中的高CPU利用率。这个CPU使用不在InvocationHandler中,它执行“实际工作”,但实际上在代理类(com.sun.proxy.Proxy$123.myMethod())中。最终,这会导致代码运行的服务器上的CPU负载过高。

我天真的理解是动态代理只需要将参数包装到一个对象数组中,然后将其传递给它已构造的InvocationHandler并返回结果。由于这几乎不会导致高CPU负载,我会对动态代理可能会做什么感兴趣。某种可能昂贵的安全检查可能吗?

0 个答案:

没有答案