java 开始DB transaction 之后 执行system.exit,结果?

问题描述

java开始DBtransaction之后执行system.exit,之后用不用手动结束transaction?还是什么都不用处理?

解决方案

解决方案二:
有些数据库会回滚啊。一般在打开一个事务后要能保证要么事务提交,要么回滚。要是什么都不做说明你的程序写的不好呢。
解决方案三:
我那么做的话,是什么结果?

时间: 2024-09-20 13:50:43

java 开始DB transaction 之后 执行system.exit,结果?的相关文章

Java异常及异常块执行次序(try、catch、finally、return)

Java异常: ①使用try-catch-finally处理异常: ②使用throw.throws抛出异常: ③上边为java异常处理5个关键字. 异常是程序在设计时或运行时产生的错误,异常处理是处理异常的过程,一旦异常被处理后,异常就不存在了,因此程序就可以继续运行了.如果异常不被处理,程序就会被强制终止(终止出现异常的业务代码执行). 在程序运行中,程序的try.catch.finally.return执行次序,就要进行考虑了. ①:捕获异常 try{ //执行可能产生异常的代码 }catc

从JDK源码看System.exit

前言 在编写的Java程序中有时会遇到用 System.exit 来关闭JVM,其中调用 exit 方法时会包含一个状态参数n,即System.exit(n).这其实是一个约定值,如果为0则表示正常关闭,而非0则表示非正常关闭.这里我们从JDK源码看下不同状态都是怎么处理的. System与Runtime 先看System类的exit方法如下,可以看到它是间接调用了Runtime对象的exit方法. public static void exit(int status) { Runtime.ge

初次接触java,关于System.exit(0)的问题

问题描述 初次接触java,关于System.exit(0)的问题 是这样子的,我写了一个程序,输入三个数字找最大值.之后用户输入一个字符,是q的话则退出.因为要不断地重复执行,所以我使用了for的死循环,用户输入的不是q,则继续执行该for循环. int number1,number2,number3; String str = "yes"; //str的初始值 Scanner input = new Scanner(System.in); Scanner input2 = new

当JBOSS遇到System.exit()

当JBOSS在部署应用时,遇到System.exit()方法调用,会产生死锁. 我们先来看看死锁时的线程快照: "JBoss Shutdown Hook" daemon prio=10 tid=0x0000000056fa8000 nid=0x2525 waiting for monitor entry [0x0000000047184000] java.lang.Thread.State: BLOCKED (on object monitor) at org.jboss.web.Ab

java自定义任务类定时执行任务示例 callable和future接口使用方法_java

Callable 和 Future接口Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务. Callable和Runnable有几点不同: (1)Callable规定的方法是call(),而Runnable规定的方法是run().(2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值的. (3)call()方法可抛出异常,而run()方法是不能抛出异常的.(4)运行Callable任务可拿到一

Java中for循环的执行过程分析_java

本文实例分析了Java中for循环的执行过程.分享给大家供大家参考.具体分析如下: public class Test01{ public static void main(String[] args) { int i = 0 ; for(foo('A');foo('B')&&i<3;foo('C')){ i++ ; foo('D') ; } } public static boolean foo(char c){ System.out.print(c + " "

在Java中自由块的执行顺序_java

java中的自由块分为静态的自由块和非静态的自由块. 非静态自由块的执行时间是:在执行构造函数之前. 静态自由块的执行时间是:class文件加载时执行. 非静态自由块可以多次执行,只要初始化一个对象就会执行,但是静态自由块只会在类装载的时候执行一次,一般用来初始化类的静态变量的值. 每次初始化一个对象,都会导致一次非静态块的执行. 如果涉及到继承,则是:首先执行父类的非静态块,然后是父类的构造函数,接着是自己的自由块,最后是自己的构造函数. 静态块的执行时机是在class文件装载的时候,clas

android开发中finish()和System.exit(0)的区别

  首先一个Activity是有生命周期的,onCreate,onStart,onResume,onPause,onStop,onDestroy... finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放. 其实android的机制决定了用户无法完全退出应用,当你的application最长时间没有被用过的时候,a

多态-java中为什么会自动执行子类重写父类的方法?

问题描述 java中为什么会自动执行子类重写父类的方法? 问题: 1.在main方法中我没有调用paint方法,为什么它会自动被调用? 2.老师说这是多态,可是多态不是需要三个条件实现么?继承,重写方法,父类引用指向子类对象,这里没有第三点啊 代码如下: public class GameFrame extends Frame{ public void launchFrame(){ setSize(500,500); setLocation(100,100); setVisible(true);