1、成员变量存在于堆区,局部变量存在于栈区(该方法被调用时)。
2、doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的。
3、 声明为static和transient类型的成员数据不能被串行化(序列化)。因为static代表类的状态, transient代表对象的临时数据。
4、RDBMS:关系数据库管理系统。
5、super关键字的作用:
1.用来访问父类被隐藏的成员变量;
2.用来调用父类中被重载的方法;
3.用来调用父类的构造函数。
6、final,finalize()
1.final声明类,则表示它不能再派生出新类,也不能被继承;
2.声明方法表示方法不可覆盖;
3.声明属性表示属性不可变。
4.finalize()清理内存。在垃圾收集器执行的时候,调用被回收对象的此方法,可以覆盖此方法在垃圾回收时其他资源的回收。
7、Java Object 默认的基本方法:getClass(), hashCode(), equals(), clone(), toString(), notify(), notifyAll(), wait(), finalize()。
8、抽象类
1.抽象类可以包含抽象方法,也可以不包含;
2.类中不能有 count = count + 1;
3.返回值不能作为重载的依据;
4.抽象方法必须有方法体。
9、ArrayList是查询快,增删慢;LinkedList是查询慢,增删快。
10、对象存储在堆内存中,数组也属于一种对象。
11、JSP内置对象:
1.request--客户端的请求信息,HttpServletRequest类的实例。
2.response--响应客户请求的有关信息,HttpServletResponse类的实例。
3.session--客户端与服务器的一次会话,HttpSession的实例。
4.out--向客户端输出内容常用的对象,JspWriter类的实例。
5.page--指向当前JSP页面本身,类似类中的this,Object的实例。
6.application--用户间数据的共享,可存放全局变量,开始于服务器启动,直到服务器关闭,ServletContext的实例。
12、HttpSession session = request.getSession(false) 与HttpSession session = request.getSession(true)的区别:如果当前reqeust中的HttpSession 为null,当传入参数为true时,就创建一个新的Session,否则返回null。
白盒测试:获得源代码的基础上对软件进行测试。
黑盒测试:相反。
灰盒测试:介于中间。
(1)HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为null,不允许多条记录的值为null。HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要同步,可以用Collections.synchronizedMap(HashMap map)方法使HashMap具有同步的能力。
(2)Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,然而,这也导致了Hashtable在写入时会比较慢。
(3)LinkedHashMap保存了记录的插入顺序,在用Iteraor遍历LinkedHashMap时,先得到的记录肯定是先插入的。在遍历的时候会比HashMap慢。有HashMap的全部特性。
(2)LinkedList底层是链表结构,每一个元素都是跟自己前一个和后一个元素发生关系,所以他的增删操作只需要改变与其位置相关联的两个元素关系即可,所以效率比较高,但是如果角标读取的话就要从1角标开始计算,所以如果集合中频繁有读取操作,建议使用ArrayList。线程不同步。因为底层结构的不同,所以LinkedList有自己的特有方法来增加效率。
Set是一种不包含重复的元素的Collection。
事务就是用来解决类似问题的。事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。
Spring事务的隔离级别
ISOLATION_DEFAULT: 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.另外四个与JDBC的隔离级别相对应
ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。
ISOLATION_READ_COMMITTED:保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据
ISOLATION_REPEATABLE_READ:这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免不可重复读。
ISOLATION_SERIALIZABLE 这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。 除了防止脏读,不可重复读外,还避免了幻像读。
IoC 控制反转,指将对象的创建权,反转到Spring容器 , DI 依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入
①springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
②springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
③Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl。
2、doGet/doPost 则是在 javax.servlet.http.HttpServlet 中实现的。
3、 声明为static和transient类型的成员数据不能被串行化(序列化)。因为static代表类的状态, transient代表对象的临时数据。
4、RDBMS:关系数据库管理系统。
5、super关键字的作用:
1.用来访问父类被隐藏的成员变量;
2.用来调用父类中被重载的方法;
3.用来调用父类的构造函数。
6、final,finalize()
1.final声明类,则表示它不能再派生出新类,也不能被继承;
2.声明方法表示方法不可覆盖;
3.声明属性表示属性不可变。
4.finalize()清理内存。在垃圾收集器执行的时候,调用被回收对象的此方法,可以覆盖此方法在垃圾回收时其他资源的回收。
7、Java Object 默认的基本方法:getClass(), hashCode(), equals(), clone(), toString(), notify(), notifyAll(), wait(), finalize()。
8、抽象类
1.抽象类可以包含抽象方法,也可以不包含;
2.类中不能有 count = count + 1;
3.返回值不能作为重载的依据;
4.抽象方法必须有方法体。
9、ArrayList是查询快,增删慢;LinkedList是查询慢,增删快。
10、对象存储在堆内存中,数组也属于一种对象。
11、JSP内置对象:
1.request--客户端的请求信息,HttpServletRequest类的实例。
2.response--响应客户请求的有关信息,HttpServletResponse类的实例。
3.session--客户端与服务器的一次会话,HttpSession的实例。
4.out--向客户端输出内容常用的对象,JspWriter类的实例。
5.page--指向当前JSP页面本身,类似类中的this,Object的实例。
6.application--用户间数据的共享,可存放全局变量,开始于服务器启动,直到服务器关闭,ServletContext的实例。
12、HttpSession session = request.getSession(false) 与HttpSession session = request.getSession(true)的区别:如果当前reqeust中的HttpSession 为null,当传入参数为true时,就创建一个新的Session,否则返回null。
白盒测试:获得源代码的基础上对软件进行测试。
黑盒测试:相反。
灰盒测试:介于中间。
(1)HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为null,不允许多条记录的值为null。HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要同步,可以用Collections.synchronizedMap(HashMap map)方法使HashMap具有同步的能力。
(2)Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,然而,这也导致了Hashtable在写入时会比较慢。
(3)LinkedHashMap保存了记录的插入顺序,在用Iteraor遍历LinkedHashMap时,先得到的记录肯定是先插入的。在遍历的时候会比HashMap慢。有HashMap的全部特性。
(4)TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iteraor遍历TreeMap时,得到的记录是排过序的。TreeMap的键和值都不能为空。
(2)LinkedList底层是链表结构,每一个元素都是跟自己前一个和后一个元素发生关系,所以他的增删操作只需要改变与其位置相关联的两个元素关系即可,所以效率比较高,但是如果角标读取的话就要从1角标开始计算,所以如果集合中频繁有读取操作,建议使用ArrayList。线程不同步。因为底层结构的不同,所以LinkedList有自己的特有方法来增加效率。
Set是一种不包含重复的元素的Collection。
事务就是用来解决类似问题的。事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。
Spring事务的隔离级别
ISOLATION_DEFAULT: 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.另外四个与JDBC的隔离级别相对应
ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。
ISOLATION_READ_COMMITTED:保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据
ISOLATION_REPEATABLE_READ:这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免不可重复读。
ISOLATION_SERIALIZABLE 这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。 除了防止脏读,不可重复读外,还避免了幻像读。
IoC 控制反转,指将对象的创建权,反转到Spring容器 , DI 依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入
①springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
②springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
③Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl。