【发布时间】:2013-05-13 05:25:07
【问题描述】:
我正在尝试将对象 (JavaBean) 添加到列表中。
MyWebServiceRequest mywebService = new MyWebServiceRequest();
MyRequestType type= new MyRequestType ();
for(int i=0; i< 9; i++){
type.setA(someDynamicValue);
type.setB(someDynamicValue);
mywebService.add(type);
}
这只会创建一个 (type) 的对象,因此它会使用相同的数据添加相同的对象 9 次。
MyWebServiceRequest mywebService = new MyWebServiceRequest();
for(int i=0; i< 9; i++){
MyRequestType type= new MyRequestType ();
type.setA(someDynamicValue);
type.setB(someDynamicValue);
mywebService.add(type);
}
这会创建多个对象,添加 9 个具有差异值的差异对象。
如果(for 循环)在每次发出请求时在单个循环中创建数百个对象而不是 9 个对象会怎样? 那么它在内存中的转储对吗?
如何避免这种情况?
提前致谢。
【问题讨论】:
-
澄清你的问题,这是不可理解的!你所说的“获得确切的请求”和“请求元素”是什么意思
-
当你添加 MyRequestType type= new MyRequestType ();在循环中,一个新对象被创建了 9 次。
-
当我不在循环中创建新对象时,该对象被添加了 9 次,但所有对象的数据都是相同的,即使设置了差异数据。当我将新对象放入循环中时,它会添加 9 个对象列出差异数据。会不会影响内存的效率?如果我的 for 循环创建了数百个对象怎么办?我经常遇到内存不足 PermGen 空间错误。
-
请接受我对所有回答者的赞美...我已尝试阅读该问题 5 次,但仍然无法理解他要问什么
-
@user1665651 ,您想要一个对象或 9 个不同的对象..?? ,所有其他 9 个对象的数据是否必须相同
标签: java web-services object