比较基础常用的java面试题(1)

拦截器与过滤器的区别:

 

拦截器是基于java的反射机制的,而过滤器是基于函数回调。

拦截器不依赖与servlet容器,过滤器依赖与servlet容器。

拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。

拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。

在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次

 

 

懒加载

hibernate 查询有两种方法,get和load,load有懒加载的特性。当查询某一条数据的时候并不会立刻把属性通过指定对象的形式返回。而是当真正的使用对象的属性时候才去数据库访问并获得数据。这是为了防止程序和数据库之间交互过于频繁导致的处理性能缓慢。

 


hwm的作用全表扫描时只扫描到hwm为止。

delete和truncate都会释放数据块,但delete不会降低hwm,truncate会把hwm复位到第一个block上。

 

类的三中基本特性,各有什么特点。

封装,继承,多态

封装:把一个对象的行为和属性封装在一个类中,高度自治相对封闭的个体。并为类中的成员提供多种访问权限,以达到访问安全。

 

继承:一个新生成的类通过继承可以实现父类的所有可继承的成员和方法。

 

多态:类中的方法可执行的多样性,可根据不同的情况使用不同的方法。主要体现在重载和重写。

 

Xml的理解,web.xml的作用

Xml是一种可扩展标记语言,也是一种简单的数据存储语言。和html一样都是标准通用标记语言。

XML 的设计宗旨是传输数据,而非显示数据,而HTML 被设计用来显示数据。

XML 没有预定义的标签。用户还可以自己定义xml标签。

 

Web.xml是实施描述符,在j2ee中不可缺少,主要用来提供一些初始化参数,例如servlet,struts,jsp等。还可以定义其他元素,例如欢迎界面,filter等。

 

Jsp9种内置对象及介绍简洁版。

Request 代表客户端的请求信息。

Response 通过处理后把信息传送到客户端。

Session 加载第一个jsp时创建会话,关闭浏览器结束会话

Application 关闭服务器结束会话,生命周期长,类似于全局变量

Out 是一个输出流对象,向客户端输出信息。

Config 取得服务器配置信息

page  jsp页面本身

pagecontext 可以通过它获取其他对象,一种获取参数的内置对象

exception 显示捕捉到的异常信息。

 

什么是事务?有哪些属性。

事务是执行一系列操作的逻辑工作单元。

有原子性,隔离性,持续性,一致性

原子性:一个事务中的内容,要么全执行,要么全不执行。

一致性:事务的操作必须使数据库从一个一致性到另一个一致性。

隔离性:一个事务和其他事务互不干扰。

持续性:一个事务一旦提交成功,对数据的修改是永久的。

 

Collection和collections的区别。

Collection是java.util下的接口,是所有集合的父类接口。       继承他的接口有list,set。Collections是java.util下的一个类,针对集合的一个帮助类,其中有一些方法,例如排序,搜索。

 

 

Hashmap和treemap的区别

Hashmap返回的数据是无序的,treemap返回的是有序的。

 

Arraylist和vector的区别?

 

Vector是线程安全的,同步的,arraylist是线程不安全的。Vector每次默认增长为原来的2倍,arraylist是原来的1.5倍

 

Hashmap和hashtable的区别

 

Hashmap是hashtable的轻量级实现。

Hashmap是线程不安全的,效率比hashtable高

Hashmap实现自map接口,hashtable继承自dictionary类

Haspmap允许空值,hashtale不允许

 

Arraylist和vector和linkedlist的存储性和特性

Arraylist和vector都采取数组存储,允许进行索引,查询较快,插入等操作会移动元素,所以速度慢。Vector是线程安全的,同步的,性能较arraylist差一点。Linkedlist双向链表,查询需要遍历,速度慢,但是插入数据较快。

 

SOA的认识

 

SOA是面向服务的结构体系,它定义了一种标准,把不同的服务之间提供了一个统一的交互标准。实现了IT的灵活性。

 

谈一下如果结合struts,hibernate,spring进行开发web应用

 

struts是一种基于mvc的框架,通过jsp传来的信息进行拦截,通过action来控制页面的跳转。Struts还可以防止表单重复提交。

 

Spring,最主要的是aop(面向切面)和ioc(控制翻转)

Aop把一些通用的步骤提取出来,例如日志等。

Ioc也就是依赖注入,它的宗旨是,不创建对象,但是描述创建他们的方式,不与对象和服务连接,但是在配置文件中描述哪一个组件需要哪一个服务。而且ioc可以通过set,注解方式实现属性的注入

 

Hibernate 是一种ORM映射,它通过对象来实现和数据库的交互。

不用自己动手写sql语句,他会自动生成sql语句。它利用的是java的反射原理。

具体的流程为:


web容器启动à加载spring配置进行初始化。spring配置中引用hibernate文件加载。。加载strusts控制器等等一系列的初始化。。。

 

客户端发送请求àstrust拦截请求à相应action处理请求àservice层业务逻辑处理àhibernate负责数据交换à返回结果数据àservice层处理结果数据àaction接收请求处理结果àstrust负责回送请求结果到客户端。。。

 

列举常用的JDK包

java.lang

java.sql

java.util

java.io

 

列举常用jdk中的数据结构

哈希表,双向链表,线性表


定期更新,谢谢大家能够支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值