仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 554|回复: 11
打印 上一主题 下一主题

[学习教程] 了解下JAVA的关于JDBC的XAConnection不承继Connection的狐疑

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
轮性能微软曾做过一个例子,就是同一个项目用java和.net来作,结果开发周期,.net是java的一半,性能java是.net的十分之一,代码量java是.net的三倍。呵呵,这说明了什么,.net的全方位比java好。但是有的人说.net不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net,只是推出了跨语言的.net,
在jdbc中,XAConnection和Connection是没有承继干系的,在jms中XAConnection是继承Connection接口的。一样XADataSource和Datasource也是响应的干系。
我们在利用jdbc时,假如是managed datasource,设置在设置文件中,如在oc4jdata-sources.xml中,有上面这段设置:
<managed-data-sourcename="MIFSystemLogXADataSource"
    connection-pool-name="MIFSysLogXAConnectionFactory"
    jndi-name="jdbc/mifXAStatusLog"tx-level=global/><!--tx-level=global-->
<connection-pool
    name="MIFSysLogXAConnectionFactory">
    <connection-factory
      factory-class="oracle.jdbc.xa.client.OracleXADataSource"user="gavin"
      password="gavin"url="jdbc:oracle:thin:@luga:1521:lugadb">
    </connection-factory>
</connection-pool>
可是在java代码我们利用时,是如许的:
DataSourcedataSource=(DataSource)context
              .lookup(jdbc/mifXAStatusLog);
Connectionconnection=dataSource.getConnection();
lookup出来的DataSource的完成类是:oracle.sql.oc4j.ManagedDataSource,它是实现DataSource接口的,和XADataSource有关,然后get出来的是Connection和XAConnection有关,可是拿它做操纵确是和XAConnection的效果不异,申明拿出来的大概是一个dynamicproxy,它是完成Connection接口,完成XAConnection的功效。为何要如许做呢,就是便利我们经由过程设置文件变动,修正了设置文件,从xa到非xa,从非xa到xa,代码不必要重建修正。以是只能都拿出Connection来了。可是假如XAConnection承继Connection接口,如许拿出来的即便是Connection,经由过程多态我们不更好了解吗?为什么现在写标准时,不让XADataSource承继DataSource,让XAConnection承继Connection呢?

对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。
简单生活 该用户已被删除
沙发
 楼主| 发表于 2015-1-20 17:06:29 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
admin 该用户已被删除
板凳
发表于 2015-1-25 15:17:21 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
老尸 该用户已被删除
地板
发表于 2015-1-31 12:53:14 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
若相依 该用户已被删除
5#
发表于 2015-2-6 19:25:28 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
因胸联盟 该用户已被删除
6#
发表于 2015-2-10 22:51:36 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
再现理想 该用户已被删除
7#
发表于 2015-2-27 14:58:03 | 只看该作者
是一种为 Internet发展的计算机语言
蒙在股里 该用户已被删除
8#
发表于 2015-3-4 01:40:32 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
飘灵儿 该用户已被删除
9#
发表于 2015-3-11 14:55:54 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
海妖 该用户已被删除
10#
发表于 2015-3-11 18:50:57 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
小妖女 该用户已被删除
11#
发表于 2015-3-19 07:52:09 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
透明 该用户已被删除
12#
发表于 2015-3-27 15:08:37 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表