java笔试题总结 - 图文(6)

2019-04-09 15:50

十五:spring与struts的配置是怎么关联的?

主要就是把action交给spring托管,那就要从spring里面去得到这个Action的实例,而不是type=“com.??”自己的包。

有两种配置方法,一种是插件,plug-in,还有一种是control plug-in的配置方法,在struts-config.xml里面写下面代码:

className=\

type=\

control的配置方法,

value=\Action里面的type就可以省略不写

同类其他面试题 点击新一篇或旧一篇可浏览全部同类面试题

十六:使用strust,写出处理中文乱码的方法

struts处理中文乱码,比较好的方式是在struts-config.xml中配置controller :

而他的processorClass是一个servlet,这个servlet覆盖init方法,在其中保留super.init();然后引入中文编码,即request.setCharacterEncoding(“gbk”)

十七:Hibernate是如何延迟加载?

http://irisandkevin.iteye.com/blog/1520704

延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载

* Hibernate2延迟加载实现:a)类的延迟加载 b)集合延迟加载 * Hibernate3 提供了属性的延迟加载功能

当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。

Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)

类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、

十八:说下Hibernate的缓存机制

* 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存 * 二级缓存: a)应用及缓存 b)分布式缓存

条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据 c) 第三方缓存的实现

这是面试中经常问到的一个问题,楼主可以按照我的思路回答,准你回答得很完美,首先说下Hibernate缓存的作用(即为什么要用缓存机制),然后再具体说说Hibernate中缓存的分类情况,最后可以举个具体的例子。 Hibernate缓存的作用:

Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据 Hibernate缓存分类:

Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate二级缓存

Hibernate一级缓存又称为“Session的缓存”,它是内置的,不能被卸载(不能被卸载的意思就是这种缓存不具有可选性,必须有的功能,不可以取消session缓

存)。由于Session对象的生命周期通常对应一个数据库事务或者一个应用事务,因此它的缓存是事务范围的缓存。第一级缓存是必需的,不允许而且事实上也无法卸除。在第一级缓存中,持久化类的每个实例都具有唯一的OID。

Hibernate二级缓存又称为“SessionFactory的缓存”,由于SessionFactory对象的生命周期和应用程序的整个过程对应,因此Hibernate二级缓存是进程范围或者集群范围的缓存,有可能出现并发问题,因此需要采用适当的并发访问策略,该策略为被缓存的数据提供了事务隔离级别。第二级缓存是可选的,是一个可配置的插件,在默认情况下,SessionFactory不会启用这个插件。

什么样的数据适合存放到第二级缓存中? 1 很少被修改的数据

2 不是很重要的数据,允许出现偶尔并发的数据 3 不会被并发访问的数据 4 常量数据

不适合存放到第二级缓存的数据? 1经常被修改的数据

2 .绝对不允许出现并发访问的数据,如财务数据,绝对不允许出现并发 3 与其他应用共享的数据。

Hibernate查找对象如何应用缓存?

当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果配置了二级缓存,那么从二级缓存中查;如果都查不到,再查询数据库,把结果按照ID放入到缓存

删除、更新、增加数据的时候,同时更新缓存

Hibernate管理缓存实例 无论何时,我们在管理Hibernate缓存(Managing the caches)时,当你给save()、update()或saveOrUpdate()方法传递一个对象时,或使用load()、 get()、list()、iterate() 或scroll()方法获得一个对象时, 该对象都将被加入到Session的内部缓存中。

当随后flush()方法被调用时,对象的状态会和数据库取得同步。 如果你不希望此同步操作发生,或者你正处理大量对象、需要对有效管理内存时,你可以调用evict() 方法,从一级缓存中去掉这些对象及其集合。

十九:Hibernate的查询方式

Sql、Criteria,object comptosition Hql:

* 属性查询

* 参数查询、命名参数查询 * 关联查询 * 分页查询 * 统计函数

二十:如何优化Hibernate?

* 使用双向一对多关联,不使用单向一对多 * 灵活使用单向一对多关联 * 不用一对一,用多对一取代 * 配置对象缓存,不使用集合缓存

* 一对多集合使用Bag,多对多集合使用Set * 继承类使用显式多态

* 表字段要少,表关联不要怕多,有二级缓存撑腰

二十一:spring的aop理解?

Spring提供了对AOP技术的良好封装, AOP称为面向切面编程,就是系统中有很多

各不相干的类的方法,在这些众多方法中要加入某种系统功能的代码,例如,加入日志,加入权限判断,加入异常处理,这种应用称为AOP。实现AOP功能采用的是代理技术,客户端程序不再调用目标,而调用代理类,代理类与目标类对外具有相同的方法声明,有两种方式可以实现相同的方法声明,一是实现相同的接口,二是作为目标的子类在,JDK中采用Proxy类产生动态代理的方式为某个接口生成实现类,如果要为某个类生成子类,则可以用CGLI B。在生成的代理类的方法中加入系统功能和调用目标类的相应方法,系统功能的代理以Advice对象进行提供,显然要创建出代理对象,至少需要目标类和Advice类。spring提供了这种支持,只需要在spring配置文件中配置这两个元素即可实现代理和aop功能

二十二:Struts对MVC的体现

M: 在Struts中,模型由JavaBean和EJB组件组成,用来实现程序的业务逻辑部分. C: ActionServlet,RequestProcessor和Struts辅助类来实现控制器。ActionServlet是Struts中的核心控制器ActionServlet会根据在Struts配置文件中的配置将控制权转交给相应的Action类。Action 类是业务的代理,在Action类中可以调用模型组件或者编写其他业务逻辑代码来完成一项具体的业务。

V: Struts框架中的视图主要由JSP文件构成,在JSP文件中可应用Struts标签和自定义

标签来表现模型组件中的数据进行简单的处理。ActionForm Bean实际上是一个遵循了特殊约定的JavaBean,在Struts中ActionForm Bean可看作为一个中间存储器在视图与控制器之间进行数据传递。

二十三:spring实现ioc 原理?

IoC,直观地讲,就是容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,形象地说,即由容器动态地将某种依赖关系注入到组件之中。

二十四:struts2标签分类:

1.表单UI标签 2.非表单UI标签 3.控制标签 4.数据标签

二十五:说下Struts的设计模式

MVC 模式: web应用程序启动时就会加载并初始化ActionServler。用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用

ActionForm的 Validate()验证后选择将请求发送到哪个Action,如果Action不存在,ActionServlet会先创建这个对象,然后调用 Action的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。

二十六: 分析一下struts是如何实现MVC的。

Struts采用jsp作为MVC的视图,由ActionServlet具体指定的action动作类作为控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的JAVA类以进行相应的处理,控制


java笔试题总结 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:隧道导坑分部衬砌模板支架施工方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: