J2EE基础知识点复习3_第1页
J2EE基础知识点复习3_第2页
J2EE基础知识点复习3_第3页
J2EE基础知识点复习3_第4页
J2EE基础知识点复习3_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JDBC1.两种建立数据库连接的方式?1、DriverManager机制(JDBC):API:java.sql核心APIDriverManager机制的弊端:(1)是一个同步的类,一次只有一个线程可以运行(2)与数据库相关的连接信息都包含在类中,如果用户更换另一台计算机作数据库服务器,就需要重新修改URL变量、重新编译、部署;(3)用户的用户名、口令也包含在类中,丧失了安全性2、DataSource机制(JNDI):API:javax.sql可扩展API连接方式:连接池2.事务:哪些种Java事务类型?事物:保证一系列数据库操作能够准确的完成,除非事务中的所有操作都成功,否则事务就不会完成事务

2、的4个特性(ACID):Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)Java事物类型:(1)JDBC事务:(2)JTA(Java Transaction API)事务(3)容器事务解释jdbc的数据源机制1、DataSource是JDBC Connection对象的一个工厂2、允许使用已经在JNDI命名服务中注册的DataSource对象建立连接,由驱动程序供应商实现3、连接池机制:(1)Application Server启动时,创建通向数据库资源的连接池。连接池包含多个JDBC连接。(2)当应用程序需要访问数据

3、库时,从连接池中取得一个连接,使用该连接与数据库通信;一旦工作完成,关闭数据库连接,释放回连接池中。(3)连接池与连接到数据库对比:连接到数据库:需要通信、内存、授权等来创建连接,代价昂贵;对于访问站点的每一个客户机都建立了一个新的连接,费用太高连接池:重用连接,而非建立新连接;一组加载到内存中的数据库连接,以便重复使用;允许共享数据库连接,不是为每个客户分别提供单独的连接;借助连接池,对连接数量进行必要的定量限制,数据库才是最有效的。了解jndiJNDI:Java命名和目录接口(Java Naming and Directory Interface),为开发人员提供了查找和访问各种命名和目录

4、服务的通用、统一的方式。(中央注册中心,储存了各种对象、用户和应用的变量及其值,开发大型的分布式应用,使分布式的Java程序找到分布式的对象)分布式应用程序:通过RMI或CORBA向JNDI注册对象,其他任何客户机上的应用程序只需知道数据源对象在服务器JNDI中的逻辑名称,就可以通过RMI向服务器查询数据源,然后与数据库建立连接3.什么是JDBC事务?(简单解释)1、用Connection对象控制;2、提供了两种事务模式:自动提交和手动提交3、使用JDBC事务界定时,可以将多个SQL语句结合到一个事务中4、缺点:事务的范围局限于一个数据库链接,一个JDBC事务不能跨越多个数据库5、 提供了以下

5、控制事务的方法:public void setAutoCommit(boolean)public boolean getAutoCommit()public void commit()public void rollback()使用jdbc的最佳实践1、尽可能使查询更灵活更准确:SQL语句2、调整数据库的参数设置:适当的数据库缓冲策略等3、把初始化代码放到init()方法中:只执行一次4、使用批量更新:一次连接完成所有动作5、尽可能做现场更新:使用UPDATE而不使用INSERT,DELETE,REMOVE6、使用适当的方法取得JDBC连接:DataSource7、适当的释放JDBC资源:fi

6、nally代码块中释放connection资源8、不要闲置JDBC连接:尽快释放9、尽快的提交或回滚事务10、适当设置连接池的容量11、不要让事务涵盖用户的输入:事务耗费数据库和应用服务器的资源,应避免使用长时间的事务12、尽可能利用数据库的功能:数据库触发器等4.什么是JTA?1、JTA允许应用程序执行分布式事务处理在两个或者是多个网络计算机资源上访问并且更新数据,这些数据可以分步在多个数据库上2、两阶段提交:事务管理器和资源管理器之间使用的协议是XA(资源和事务管理器之间的标准化接口)3、XA:资源和事务管理器之间的标准化接口XA链接参与了JTA事务,XA链接不支持JDBC的自动提交功能4

7、、开发人员声明事务的开始和提交(1)建立事务(2)启动事务(3)定位数据源(4)建立数据库连接(5)执行与资源有关的操作(6)关闭连接(7)完成事务MVC1.基于MVC模式的JavaEE Web应用构架。View层:呈现给用户的界面(JSP或应用GUI)(HTML tags;JSP tags XML/XSL)Controller层:接受用户动作,并对应用数据进行适当的处理(Servlet)Model层:封装应用数据(关系数据库或EJB),处理商业逻辑(Bean/JavaBeans)2.常用的MVC框架。使用框架的优点。Structs、Webwork、Spring、MVC等优点: 一个良好的框架

8、可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通常能很好的解决一个问题。*3.基于JavaEE 做应用时,有哪些常用的设计模式?1、MVC模式;2、Front Controller模式:对所有请求进行统一处理;3、session façade模式;4、Data Access Object模式消息服务JMS(Java Message Service)什么是jms1、一个使用可靠的、异步的、松耦合的联通方式允许应用创建,发送,接收和读取信息的API。2、JMS定义了一个通用的接口和相关语义集合,它可以允许使用Ja

9、va语言编写的程序与其他可以发送消息的实现进行通信两种消息域1、点对点(PTP):JMS把每一个消息传递给一个消息消费者(Message Consumer)点对点消息处理方式:(1)按照发送的顺序把消息写入并保存到队列中;(2)消息消费者处理队列中的消息。2、发布/订阅(pub/sub):把消息发送给一个主题(Topic),每个主题有多个订阅者,由JMS把消息的副本传递给主题的每个订阅者发布/订阅消息处理:*补充:消息消费的方式:同步、异步1.使用消息的应用场景智能的交换机,用于路由分布式应用中的应用程序组件和进程中的消息异步传递消息,大量数据插入数据库时需要一个安全的缓存,应付大量访问的交易

10、系统协同多系统之间的处理效率2.两种消息应用:队列、主题,使用场景是什么?1、队列(点对点的消息处理机制)场景:web前端发送包含订货信息的消息,仓库管理系统接收这个消息,并且对订货进行适当的处理,即时有多个仓库管理系统,也不会同时处理同一个订单,顾客的订货信息应当持久保存。2、主题(发布/订阅消息处理机制)当客户购买过几次之后,一个消息就会发送给一个“常客”主题站点为这些常客发送一个“特惠待遇”的消息3.对于消息的消费者来说:同步、异步,应用场景是什么?1、对于同步消费者来说:如果消息没有到达,那么消息消费者将一直等待,不能做其他的事情应用场景:通过JMS facade更新数据库(来自网络,

11、不知对错,一般情况下都是使用异步处理的)2、对于异步消费者来说:客户机在消息到达之前,可以做其他的事情应用场景:大量访问的交易系统等中间件中间件(不细节考虑,只要知道有哪几类)1.远程过程调用(RPC)2.远程数据访问3.分布式事务处理4.消息队列2.名词解释:RMI、JNDIRMI:Remote Method Invocation是用于分布式编程的,基于java的模型,使用RMI,java代码可以调用远程对象中的方法JNDI:Java Naming and Directory Interface为不同的目录提供一个共同的接口,JNDI 在 J2EE 应用程序中的主要角色就是提供间接层,这样组

12、件就可以发现所需要的资源,而不用了解这些间接性JPA1.对象关系映射的概念。(ORM,Object-Relation Mapping)1、是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术2、ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。3、关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。实体类的设计规范,类似java bean1、 一个实体类必须被标注2、 实体类还需要有一个public或者protected无参构造函数3、 实体类不能被声明为final,不能有被声明为final的可持久化实例变量或方法4、 如果一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论