基本信息
文件名称:java面试常见的框架问题.pdf
文件大小:1.85 MB
总页数:43 页
更新时间:2025-03-15
总字数:约4.8万字
文档摘要

1、SqlServer和Oracle的区别在于:

一、开放性

1.SQLServer只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对

数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NTserver只适合中小型企

业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考

验,尤其是在处理大数据库。

2.Oracle能在所有主流平台上运行(包括windows)。完全支持所有的工业标准。采用

完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

二、可伸缩性,并行性

1.SQLserver并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸

缩性有限。

2.Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提

供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据

库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。

三、性能

1.SQLServer多用户时性能不佳

2.Oracle性能最高,保持开放平台下的TPC-D和TPC-C的世界记录。

四、客户端支持及应用模式

1.SQLServerC/S结构,只支持windows客户,可以用ADO、DAO、OLEDB、ODBC

连接。

2.Oracle多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客

户连接。

五、操作简便

1.SQLServer操作简单,但只有图形界面。

2.Oracle较复杂,同时提供GUI和命令行,在windowsNT和unix下操作相同。

六、使用风险

1.SQLserver完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证

明。并不十分兼容。

2.Oracle长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。最后

价格上ORACLE贵过SQLSRVER

2、Struts1和Struts2的区别

1)在Action实现类方面的对比:

Struts1要求Action类继承一个抽象基类;Struts1的一个具体问题是使用抽象类编程

而不是接口。

Struts2Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服

务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。即使Action接口不

是必须实现的,只有一个包含execute方法的POJO类都可以用作Struts2的Action。

2)线程模式方面的对比:

Struts1Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理

所有的请求。单例策略限制了Struts1Action能做的事,并且要在开发时特别小心。

Action资源必须是线程安全的或同步的;Struts2Action对象为每一个请求产生一个实

例,因此没有线程安全问题。

3)Servlet依赖方面的对比:

Struts1Action依赖于ServletAPI,因为Struts1Action的execute方法中有

HttpServletRequest和HttpServletResponse方法。

Struts2Action不再依赖于ServletAPI,从而允许Action脱离Web容器运行,从而降

低了测试Action的难度。当然,如果Action需要直接访问HttpServletRequest和

HttpServletResponse参数,Struts2Action仍然可以访问它们。但是,大部分时候,Action

都无需直接访问HttpServetRequest和HttpServletResponse,从而给开发者更多灵活的选

择。

4)可测性方面的对比:

测试Struts1Action的一个主要问题是execute方法依赖于ServletAPI,这使得Action

的测试要依赖于Web容器。为了脱离Web容器测试Struts1的Action,必须借助于第三方