|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,JDBC事件级别
为懂得决与“多个线程哀求不异数据”相干的成绩,事件之间用锁互相离隔。多半支流的数据库撑持分歧范例的锁;因而,JDBCAPI撑持分歧范例的事件,它们由Connection对象指派或断定。在JDBCAPI中能够取得以下事件级别:
TRANSACTION_NONE申明不撑持事件。
TRANSACTION_READ_UNCOMMITTED申明在提交前一个事件能够看到另外一个事件的变更。如许脏读、不成反复的读和虚读都是同意的。
TRANSACTION_READ_COMMITTED申明读取未提交的数据是不同意的。这个级别仍旧同意不成反复的读和虚读发生。
TRANSACTION_REPEATABLE_READ申明事件包管可以再次读取不异的数据而不会失利,但虚读仍旧会呈现。
TRANSACTION_SERIALIZABLE是最高的事件级别,它避免脏读、不成反复的读和虚读。
您大概想晓得,为何不是一切事件都运转在TRANSACTION_SERIALIZABLE形式以包管最高水平的数据完全性呢?成绩在于,和处置多线程编程有关的成绩类似,事件回护的级别越高,功能丧失就越年夜。
假定您的数据库和JDBC驱动程序撑持这个特征,则给定一个Connection对象,您能够明白地设置想要的事件级别:
con.setTransactionLevel(TRANSACTION_SERIALIZABLE);
您还能够断定以后事件的级别:
if(con.getTransactionLevel()==TRANSACTION_SERIALIZABLE)
System.out.println("HighestTransactionLevelinoperation.");
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。 |
|