正在打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是对于运行时程序结构的考虑,作为动态的抽象,对程序各步骤逻辑划分,从而实现逻辑的分离。
大致就记得这么多了,还可能有一些题目忘了,其实这些题目都不难,只要自己有时间回想一下自己对写过的程序的理解都没什么问题,不过自己最近也要在别的公司上班了,也许以后会用得上这些,总结在此。
挂电话后一看电脑,这盘游戏竟然赢了
浙公网安备 33010602011771号