3089589

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

    正在打dota,刚完成一个Triple Kills,内心的激动情何以堪,忽然一个0571的号码来电,我知道这是杭州的号码,而我似乎在之前投过淘宝网,这下就尴尬了,可怜我的Triple Kills,将人物拉回水泉后,接电话,可心里依然想着那盘游戏,似乎也就注定了悲剧,我想,人总要经历点这个那个的事,虽然我很期待淘宝网,但以后总有机会。

    问题不多,在此总结,相信每次都会有提升

1,jsp与servlet的区别与联系

    servlet的内置对象都必须通过HttpServletRequest与HttpServletResponse生成,而jsp不需要

    对于html页面,servlet必须通过页面输出流一行一行输出,而jsp可以直接写好,只需要servlet传到前台指定的数据

    servlet的逻辑控制主要在java文件中,而jsp在页面中,servlet注重逻辑,而jsp注重页面。

 

2,servlet生命周期

    初始化阶段。首先加载servlet类,创建ServletConfig类,与当前web应用的ServletConfig相关联,然后创建servlet对象,然后调用init方法。在这里需要说明的是,特定的servlet只在第一次请求时才初始化,在这里web.xml中有一个配置

<servlet>
    <servlet-name>servlet1</servlet-name>
    <servlet-class>servlet.servlet</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>

 

 当<load-on-startup>没有指定或为负数时,表示只请求时才加载,如果大于等于0,则表示启动这个应用时就加载。

    运行阶段。创建会对这个请求的servletRequest与servletResponse对象,然后调用service方法,然后根据请求的不同调用不同的方法,比如doPost()与doGet(),当发送完成后,容器会销毁servletRequest对servletResponse对象,运行阶段的调用是多线程的。

    销毁阶段。当web容器被终止时,调用所有servlet的destroy()方法,销毁servlet对象与其相关联的ServletConfig对象,

 

3,struts的请求访问流程

    这个没什么可圈可点的地方,用过的人应该都知道,原理跟servlet差不多。

 

4,Java面向对象特性

    抽象,封装,继承,多态,具体每个学过java的人应该都清楚。

 

5,集合类,ArrayList与Vector区别

    知道的最多的肯定就是一个是线程安全的,另一个反之。更深入一点的话,它们内部容量扩展长度不一样,Vector定义了一个增长关键数字,默认为0,Vector代码如下:

private void ensureCapacityHelper(int minCapacity) {
	int oldCapacity = elementData.length;
	if (minCapacity > oldCapacity) {
	    Object[] oldData = elementData;
	    int newCapacity = (capacityIncrement > 0) ?
		(oldCapacity + capacityIncrement) : (oldCapacity * 2);
    	    if (newCapacity < minCapacity) {
		newCapacity = minCapacity;
	    }
            elementData = Arrays.copyOf(elementData, newCapacity);
	}
    }

 一般来说,Vector增长为原来的两倍,而ArrayList不一样,大约为原来的1.5倍多一点,如下:

public void ensureCapacity(int minCapacity) {
	modCount++;
	int oldCapacity = elementData.length;
	if (minCapacity > oldCapacity) {
	    Object oldData[] = elementData;
	    int newCapacity = (oldCapacity * 3)/2 + 1;
    	    if (newCapacity < minCapacity)
		newCapacity = minCapacity;
            // minCapacity is usually close to size, so this is a win:
            elementData = Arrays.copyOf(elementData, newCapacity);
	}
    }

 

6,spring IOC AOP

    其实spring自己只是用过一些,没有具体研究过它的源代码,总体上来讲,它有如下优点:

    降低了组件之间的耦合性 ,实现了软件各层之间的解耦 
    可以使用容易提供的众多服务,如事务管理,消息服务等 
    容器提供单例模式支持 
    容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 
    容器提供了众多的辅助类,能加快应用的开发 
    spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 
    spring属于低侵入式设计,代码的污染极低 
    独立于各种应用服务器 
    spring的DI机制降低了业务对象替换的复杂性 
    Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择spring的部分或全部

 

    IOC即控制反转,即创建被调用者的工作由spring来完成,然后注入调用者,因此称为依赖注入。

    AOP即为面向切面编程,在spring中可以利用切面编程来完成声明式事务管理,也可以定义用户自己的切面控制,AOP是对于运行时程序结构的考虑,作为动态的抽象,对程序各步骤逻辑划分,从而实现逻辑的分离。

   

大致就记得这么多了,还可能有一些题目忘了,其实这些题目都不难,只要自己有时间回想一下自己对写过的程序的理解都没什么问题,不过自己最近也要在别的公司上班了,也许以后会用得上这些,总结在此。

 

挂电话后一看电脑,这盘游戏竟然赢了

posted on 2013-03-26 09:24  liangge0218  阅读(126)  评论(0)    收藏  举报