摘自:http://blog.csdn.net/llmlx/archive/2008/04/11/2282978.aspx
事务隔离级别(transaction isolation levels):隔离级别就是对对事务并发控制的等级。ANSI/ ISO SQL将其分为串行化(SERIALIZABLE)、可重复读(REPEATABLE READ)、读已提交(READ COMMITED)、读未提交(READ UNCOMMITED)四个等级。为了实现隔离级别通常数据库采用锁(Lock)。一般在编程的时候只需要设置隔离等级,至于具体采用什么锁则由数据库来设置。首先介绍四种等级,然后举例解释后面三个等级(可重复读、读已提交、读未提交)中会出现的并发问题。
串行化(SERIALIZABLE):所有事务都一个接一个地串行执行,这样可以避免幻读(p
摘自http://www.cnblogs.com/liuyhaiying/articles/945419.html
设计模式是前人专家总结的方法,以结构化的方式提供专家意见。
设计模式已经成为了一种文化,全世界的程序员都明白,所以成为了一种交流工具。
构造型——Creational Patterns
讨论如何构造对象
1.简单工厂模式 Simple Factory
见SimpleFactory.jpg
设计思想在于子类产品具有统一的接口,所以由工厂生产出的产品的使用方式是一样的。
2.工厂方法 Factory Method
见FactoryMethod.jpg
设计思想在于对简单工厂模式进行深一层的抽象,由Man子类来创建Namer子类产品,将实例化延迟到Man子类(而不是由工厂指定在某个地方生产特定产品)。选择Man某子类则选择了所要实例化的Namer子类。
适用范围:
Manfactory工厂不知道要实例化哪个Namer子类,或者希望由它的子类来做。
3、抽象工厂 Abastract Factory
见AbstractFactory.jpg
设计思想在于指定一系列的接口,而不需要理会真正的实现类。例如WestAppearanceFactory内有两个建立特定子类的方法。之所以为抽象工厂,因为该工厂生产的是不止一类的产品,而是一系列产品。
适用范围:
一个系统不需要理会产品的生产
参考:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html
Ajax 是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写。
Ajax 尝试建立桌面应用程序的功能和交互性,与不断更新的 Web 应用程序之间的桥梁。
老技术,新技巧:
HTML 用于建立 Web 表单并确定应用程序其他部分使用的字段
JavaScript 代码是运行 Ajax 应用程序的核心代码,帮助改进与服务器应用程序的通信。
DHTML 或 Dynamic HTML,用于动态更新表单。我们将使用 div、span 和其他动态 HTML 元素来标记
HTML。
文档对象模型 DOM 用于(通过 JavaScript 代码)处理 HTML 结构和(某些情况下)服务器返回的 XML。
XMLHttpRequest 对象
这是一个 JavaScript 对象.
在一般的 Web 应用程序中,用户填写表单字段并单击 Submit
按钮。然后整个表单发送到服务器,服务器将它转发给处理表单的脚本(通常是 PHP 或 Java,也可能是 CGI
进程或者类似的东西),脚本执行完成后再发送回全新的页面。该页面可能是带有已经填充某些数据的新表单的 HTML,也可能
反射机制:
用于获取运行时信息,对自身的JAVA程序进行检查并直接操作程序内部的属性。例如可以获取某个对象的属性,执行某个对象的方法,新建实例等。
而反射机制是如今许多流行框架的实现基础,包括Spring、Hibernate等。
不过,使用反射会比较消耗资源。
代理机制:
JAVA中的另一个重要机制,包括静态和动态两种。为了将业务逻辑和核心业务分离,代理位于调用者和核心业务之间,由代理去实现业务逻辑,当业务逻辑修改时,修改代理即可,不会影响到核心业务。
静态代理是实现清楚需代理的接口(函数),然后编写代理,相同的接口但在实现中完成业务逻辑。
动态代理是代理同一业务逻辑的接口,即给出需要代理的多个接口,由代理来完成相同的业务逻辑。既能动态的创建代理对象,又能动态的调用代理方法。
动态代理中一个重要API:
public static Object newProxyInstance(ClassLoader loader,
Class<?>[] interfaces,
throws IllegalArgumentException
说明:
参数:loader-需代理对象的类加载器;interfaces-被代理对象的需代理接口;h-处理程序。
参考:http://zhidao.baidu.com/question/5790744.html
覆盖:
在基类中定义了一个非虚拟函数,然后在派生类中又定义了一个同名同参数同返回类型的函数,这就是覆盖了。在派生类对象上直接调用这个函数名,只会调用派生类中的那个。
重载:
在基类中定义了一个非虚拟函数,然后在派生类中定义一个同名,但是具有不同的参数表的函数,这就是重载。在派