debugInfoStack.push(
"field (class \"" + desc.getName() + "\", name: \"" +
fields[numPrimFields + i].getName() + "\", type: \"" +
fields[numPrimFields + i].getType() + "\")");
}
try {
writeObject0(objVals[i],
fields[numPrimFields + i].isUnshared()); //递归调用writeObject0写入每个field的数据
} finally {
if (extendedDebugInfo) {
debugInfoStack.pop();
}
}
}
}
当然ObjectInputStream也类似。
摘自 zhwj的专栏