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,必须借助于第三方