答案 0 :(得分:214)
答案 1 :(得分:35)
答案 2 :(得分:24)
这很有用的例子:
在我们的Weblogic 10.3 JVM上设置-XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
有助于解决JAX-WS实现为每个Web服务调用创建新代理类的问题,最终导致内存不足错误。
追踪并非易事。以下代码始终返回port
final MyPortType port =
Service.create(
getClass().getResource("/path/to.wsdl"),
new QName("http://www.example.com", "MyService"))
.getPort(
new QName("http://www.example.com", "MyPortType"),
MyPortType.class);
在内部,此代理委托给weblogic.wsee.jaxws.spi.ClientInstance
的实例,该实例再次委派给新的$Proxy[nnnn]
类,其中n
在每次调用时都会递增。添加标志时,n
仍然会增加,但至少从内存中删除了这些临时类。
更一般地说,当通过java.lang.reflect.Proxy