如何提高此代码的性能?我必须创造 我通过查询返回的查询返回的每个项目的对象 价值数组。我不知道预先分配对象是否会有所帮助 因为每次检索结果项目时我都在新建一个对象 此外,我将对象存储在ids =>的地图中。对象和ID正在存在 存储在id列表中以便以后更快地访问。
java.util.Vector<Integer> resultList = new java.util.Vector<Integer>();
while (result.next()) {
Ptrobject ptrobject = new Ptrobject(connection());
DataValue[] values = result.getValues();
int idx = 0;
ptrobject.id = values[idx++].getInt();
ptrobject.unty = values[idx++].getString();
ptrobject.tumCode = values[idx++].getString();
ptrobject.eldName = values[idx++].getString();
ptrobject.atTD = values[idx++].getString();
ptrobject.stOper = values[idx++].getString();
ptrobject.aseName = values[idx++].getString();
ptrobject.aseNbr = values[idx++].getString();
ptrobject.erator = values[idx++].getString();
ptrobject.odFM = values[idx++].getString();
ptrobject.marks = values[idx++].getString();
ptrobject.ate = values[idx++].getString();
ptrobject.mCode = values[idx++].getString();
ptrobject.jectLabel = values[idx++].getString();
ptrobject.jectName = values[idx++].getString();
ptrobject.jectNumber = values[idx++].getString();
ptrobject.ud = (Timestamp) values[idx++].getPtrobject();
s_cache.getMap().put(ptrobject.id, ptrobject);
resultList.add(ptrobject.id);
}
答案 0 :(得分:-1)
将对象定义放在while语句
之外Ptrobject ptrobject;
DataValue[] values;
int idx;
while (result.next()) {
ptrobject = new Ptrobject(connection());
values = result.getValues();
idx=0;
.....
我知道最小范围说不要这样做,但如果你想要速度,那就是。 这里是内部与外部声明的标记。
http://www.gunduru.com/post/107249109253/declaring-variables-inside-or-outside-of-a-loop