仓酷云

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

[学习教程] 来看Java实际和理论: 了解JTS D 均衡平安性和功能

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-18 11:17:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
如果你学习的是市场营销,是销售,也许参加大课堂的学习会更合适,因为你的工作能力中有个基础就是搭建自己的人脉,
在他的关于JTS的系列文章的第1和第2部分,Brian报告了一些基本常识,包含甚么是事件和J2EE容器怎样使事件服务对EJB组件通明。只管可以以声明的体例而不是编程的体例指定组件的事件性语义能够年夜年夜加强设置企业使用程序时的天真性,但在拆卸使用程序时做出不妥的决意会减弱使用程序的功能和不乱性。在这最初一部分,Brian会商了J2EE供应的用来办理事件分别和断绝的工具和一些高效力地利用这些工具的引导。请单击文章顶部或底部的会商,在会商论坛与作者和其他读者分享您对本文的设法。
在本系列的第1部分(“Anintroductiontotransactions”)和第2部分(“Themagicbeindthescenes”)中,我们界说了甚么是事件,枚举了事件的基础特征(property),并切磋了Java事件服务(JavaTransactionService)和J2EE容器怎样互助为事件供应对J2EE组件的通明撑持。在本文中,我们将会商事件的分别和断绝这个主题。
为EJB组件界说事件分别和断绝属性(attribute)的职责由使用程序拆卸职员来承当。假如这些属性设置不妥,会对使用程序的功能、可伸缩性或容错才能形成严峻的成果。不幸的是,并没有一种必需恪守的划定规矩用于准确设置这些属性,但有一些引导能够匡助我们在并发伤害和功能伤害之间找到一种均衡。
我们在第1部分中会商过,事件次要是一种非常处置机制。事件在程序中的用处与正当条约在一样平常营业中的用处类似:假如出了甚么成绩它们能够匡助恢复。但因为年夜多半工夫内都没实践产生甚么毛病,我们就但愿可以只管削减它们的开支和对其他工夫的占用。我们在使用程序中怎样利用事件会对使用程序的功能和可伸缩性发生很年夜的影响。
事件分别
J2EE容器供应了两种机制用来界说事件的出发点和尽头:bean办理的事件和容器办理的事件。在bean办理的事件中,用UserTransaction.begin()和UserTransaction.commit()在bean办法中显式入手下手和停止一个事件。另外一方面,容器办理的事件供应了更多的天真性。经由过程在拆卸形貌符中为每一个EJB办法界说事件性属性,您能够指定每一个办法的事件性需求并让容器断定什么时候入手下手和停止一个事件。不管在哪一种情形下,构建事件的基础引导目标都是一样的。
出去,进来
事件分别的第一条划定规矩是“只管短小”。事件供应并发把持;这一般意味着资本办理器将代表您取得您在事件时代会见的数据项的锁,而且它必需一向持有这些锁,直到事件停止。(请回想一下本系列第1部分所会商的ACID特征,个中“ACID”的“I”代表“断绝”(Isolation)。也就是说,一个事件的了局影响不到与该事件并发实行的别的事件。)当您具有锁时,任何必要会见您锁定的数据项的别的事件将不能不一向守候,直到您开释锁。假如您的事件很长,那些别的的一切事件都将被锁定,您的使用程序吞吐量将年夜幅度下落。
划定规矩1:使事件尽量短小。
经由过程使事件只管短小,您能够把拦阻别的事件的工夫缩到最短,从而进步使用程序的可伸缩性。坚持事件尽量短小的最好办法固然是不在事件两头做任何不用要泯灭工夫的事,出格是不要在事件两头守候用户输出。
入手下手一个事件,从数据库检索一些数据,显现数据,然后在仍处于事件中时请用户做出一个选择大概对照诱人。万万别这么做!即便用户注重力会合,也要消费数秒来呼应D而在数据库中具有锁数秒的工夫已是很长的了。假如用户决意分开盘算机,也许是往吃午饭大概乃至回家一天,会产生甚么情形?使用程序将只好无法停机。在事件时代实行I/O是招致劫难的法门。
划定规矩2:在事件时代不要守候用户输出。
将相干的操纵回在一同
因为每一个事件都有不小的开支,您大概以为最好是在单个事件中实行尽量多的操纵以使每一个操纵的开支到达最小。但划定规矩1告知我们长事件对可伸缩性倒霉。那末怎样完成最小化每一个操纵的开支和可伸缩性之间的均衡呢?
我们把划定规矩1设置为逻辑上的极度D每一个事件一个操纵D如许不但会招致分外开支,还会危及使用程序形态的分歧性。假定事件性资本办理器保护使用程序形态的分歧性(请回想一下第1部分,个中“ACID”的“C”代表“分歧性”(Consistency)),但它们依附使用程序来界说分歧性的意义。实践上,我们在形貌事件时利用的分歧性的界说有点油滑:使用程序说分歧性是甚么意义它就是甚么意义。使用程序把几组使用程序形态的变更构造到几个事件中,了局使用程序的形态就成了界说上的(bydefinition)分歧。然后资本办理器确保假如它必需从妨碍恢复的话,就把使用程序形态恢复到比来的分歧形态。
在第1部分中,我们给出了一个在银行使用程序中将资金从一个帐户转移到另外一个帐户的示例。清单1展现了这个示例大概的SQL完成,它包括5个SQL操纵(一个选择,两个更新和两个拔出操纵):
<p>
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。
再见西城 该用户已被删除
11#
发表于 2015-3-22 20:11:20 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
第二个灵魂 该用户已被删除
10#
发表于 2015-3-16 05:02:00 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
谁可相欹 该用户已被删除
9#
发表于 2015-3-8 16:24:56 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
莫相离 该用户已被删除
8#
发表于 2015-3-7 11:30:20 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
因胸联盟 该用户已被删除
7#
发表于 2015-3-3 03:42:47 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
简单生活 该用户已被删除
6#
发表于 2015-2-18 19:33:44 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
柔情似水 该用户已被删除
5#
发表于 2015-2-13 15:48:51 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
透明 该用户已被删除
地板
发表于 2015-2-5 21:45:40 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
蒙在股里 该用户已被删除
板凳
发表于 2015-2-1 19:14:33 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
再现理想 该用户已被删除
沙发
发表于 2015-1-24 15:25:40 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
乐观 该用户已被删除
楼主
发表于 2015-1-19 19:12:49 来自手机 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 08:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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