动力节点口口相传的Java黄埔军校
最新java工程师笔试题及答案
2019-09-24 来源:动力节点

 

今天动力节点java培训机构小编为大家介绍最新java工程师笔试题及答案,希望此文能够帮助到正在找工作的你,下面就随小编一起来了解一下吧。


timg (5).jpg


  1、struts中的prepare怎么用?


  prepare是在validate拦截器之前执行


  在使用struts2 checkboxlist,select绑定list时,有时候会出现 以下异常


  The requested list key 'users' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name}


  - [unknown location]这样的错误。是因为list的值为空


  解决办法是把初始化list的工作放到prepare拦截器中

  

public class RoleAction extends ActionSupport implemen


ts Preparable{


@Override


public void prepare() throws Exception {


//初始化list


} }


    2、dao 是什么及作用


  dao 是数据访问对象 DAO负责管理与数据源的连接来获取和储存其中的数据


  3、简述spring 的事务传播行为和 隔离级别


  spring 的事务传播行为: Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:


  PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。


  PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。


  PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。


  PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。


  PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。


  PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。


  PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。


  Spring 的隔离级别


  (1)Serializable:最严格的级别,事务串行执行,资源消耗最大;


  (2)REPEATABLE READ:保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。避免了“脏读取”和“不可重复读取”的情况,但是带来了更多的性能损失。


  (3)READ COMMITTED:大多数主流数据库的默认事务等级,保证了一个事务不会读到另一个并行事务已修改但未提交的数据,避免了“脏读取”。该级别适用于大多数系统。


  (4)Read Uncommitted:保证了读取过程中不会读取到非法数据。


  4、Struts2实现拦截器的原理?


  实现原理:Struts2拦截器是在访问某个Action或Action的某个方法、字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现。当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器。


  5、forward与redirect 的区别?有哪些方式实现


(1)重定向后url地址栏地址不变还是原来的地址;而response.sendRedirect()重定向后url地址栏地址显示的请求后的新地址。


  (2)重定向的时候可以保存回话信息,因此可以使用request来进行参数传递,在新页面可以使用request.getAttribute ()来得到参数。而response.sendRedirect()不支持此通过request进行参数传递。它唯一的传值方式为response.sendRedirect(“example.jsp?aa=123”),在新的页面通过request.getParameter(“aa”)来得到参数值。


  6、静态的多态和动态的多态的区别


  静态的多态: 即为重载 ;方法名相同,参数个数或类型不相同。(overloading)


  动态的多态: 即为重写;子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法 实现接口的实例传与接口的引用调用的实现类的方法。


  7、extends和implement的不同


  extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 比如 class A extends B implements C,D,E


  8、Hibernate中离线查询与在线查询的区别


  Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的;而DetachedCriteria 是离线的,创建时无需 Session,DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name) 进行DetachedCriteria 实例的创建。


timg (2).jpg


以上就是动力节点java培训机构小编分享的“最新java工程师笔试题及答案”的内容,希望对大家有帮助,更多java笔试题请继续关注动力节点java培训机构官网,每天会有精彩内容分享与你。


相关java笔试题推荐


最新最全java笔试题及答案:http://www.bjpowernode.com/tutorial_baseinterviewquestions/


开班信息

同类文章

微信搜索“动力节点Java学院“或扫二维码

关注官方微信免费领学习资料

动力节点Java培训机构,行业口碑最好的Java培训机构。

立即抢名额