小弟执行一段程序,中间网络中断了,等恢复以后发现有的数据库动作执行了两次,有的动作没有执行,程序的基本结构如下
try {
    new connection;
    m,n声明两个类似于容器的变量,用于储存需要做动作的内容
    for () {
        list1.add(m);
        if (条件) {
            n.动作1
        }
    }
    list.动作2
    connection.commit();}catch() {
    exception();
}finally{
    connection.close;
    connection=null;
}
结果是动作1执行了两遍,动作2没有执行,程序并没有报异常
请教各位大虾,这类情况发生是跟数据库的机制有关系或者JVM的机制有关系还是什么其他原因,如何避免累死这种情况的发生,我的程序改如何优化?
不知道各位懂我写的东西了没!
哦 对了 我用的数据库是oracle
小弟在线等!