zoukankan      html  css  js  c++  java
  • 2013Java最新面试题

    更新时间:2015-04-07         来源:网络         投诉删除        

    【看准网(Kanzhun.com)】Java面试题频道小编搜集的范文“2013Java最新面试题”,供大家阅读参考,查看更多相关面试题目 ,请访问Java面试题频道。

    1、概述struts,以及struts如何实现MVC架构的?
    答:struts framework是一种基于java的技术,Web应用程序开发人员通过struts framework即可充分利用面向对象设计、代码重用以及"编写一次、到处运行"的优点。Struts提供了一种创建Web应用程序的框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。Struts采用jsp作为MVC的视图,由ActionServlet具体指定的action动作类作为控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的JAVA类以进行相应的处理,控制器还指定下一个视图的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。
    Struts的处理流程:
    l 控制器进行初始化工作,读取配置文件,为不同的Struts模块初始化相应的ModulConfig对象。
    l 控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体的Action类进行处理。
    l 在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自已。还可以在ActionForm类中调用Validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。
    l 执行具体的的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作。也可以把Action要处理的业务逻辑封装在JavaBean中,如果系统中还有EJB,那么通过JavaBean调用EJB以完成业务处理;如果没有EJB,那么就直接在JavaBean中连接数据库,进行数据库相关的操作。

    2、概述MVC体系结构。
    答:MVC包括三类对象,model是应用对象,view是视图,controller是控制器,它定义用户界面对用户输入的响应方式。
    在MVC体系中,模型通常被称为"业务逻辑",是真正完成任务的代码,视图就是使用界面,反映数据的变化。控制器控制着模型和视图之间的交互过程,它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型
    在MVC中,表示层和逻辑层分离,各部分可相互独立进行开发,便于开发和维护,提高了开发效率。

    3、多线程的优点。
    答:可分两方面来答:
    1、 相对于单线程而言 :
    可以响应多任务的并发操作。
    多线程取消了主循环和轮流检测机制,一个线程可以暂停而不阻止系统其他的部分的执行,而且当程序中一个线程阻塞时,只有那个被阻塞的线程暂停,所有其他的线程继续执行。
    2、 相对于进程而言:(可以答也可以不答)
    它所要求的开销比较小,转换成本较小。
    所有线程共享同一地址空间,相互协作。
    彼此之间通信很容易。

    4、EJB概述
    答:EJB是企业级的JavaBean,它提供了构建企业级业务逻辑的一种组件模型。
    EJB分为三种:Session Bean Entity Bean Message-Driven Bean 三种,其中Session Bean分为有状态和无状态Session Bean两种,Entity Bean分为容器管理的Entity Bean ( CMP ) 和 Bean管理的 Entity Bean ( BMP )。每一个EJB由一个远程接口、一个本地接口和一个EJB容器实现组成,远程接口声明了提供给EJB客户调用的各种应用方法,本地接口声明了创建新的EJB实例的create方法、寻找EJB实例的查找(finder)方法以及刪除EJB实例的remove方法。EJB容器提供了EJB的运行环境和生命周期的管理。
    5、 用java访问Oracle数据库、取得记录并输出到界面
    答:..........................
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection conn=DriverManager.getConnection( url , username , password );
    Statement stmt=conn.createStatement();
    String str="select * from [table]";
    ResultSet rs=stmt.executeQuery(str);
    While(rs.next())
    {
    ........................
    }
    rs.close();
    stmt.close();
    conn.close();

    6、 概述java垃圾回收机制
    答:它的工作原理如下:
    当不存在对一个对象的引用时,我们就假定不再需要那个对象,那个对象所占有的存储单元可以被收回,可通过System.gc()方法回收,但一般要把不再引用的对象标志为null为佳。


    7、 java类是否可以多继承,怎么实现多继承?
    答:java没有多继承,但可以通过接口的形式来达到多继承的目地。

    8、 面向对象的特点
    答:面向对象有三大特点:封装、继承、多态。(如果要回答四个,可加上 抽象性 这一特点)

    9、接口有什么优点
    答:接口有以下优点:
    A 接口只是一个框架而没有实现,因此在接口定义时不需要考虑接口中的方法如何实现。
    B 利用接口可达到实现多继承的目地。
    C 可以在不暴露对象的类的前提下,暴露对象的编程接口。
    D 不用强迫类关系在无关类中截获相似处(采用适配器就可以了)。
    E声明想执行的一个或多个方法。

    1、 ArrayList 与 Vector 的区别
    答:主要从两个方面来说明:
    A 安全、效率方面
    如果要实现同步安全,则要用Vector,否则则用ArrayList,因为ArrayList不考虑同步安全的问题,所以效率要高些。
    B 资源方面
    当两者的容量已满时,它们都会自动增长其容量,但Vector是按其容量的一倍增长,而ArrayList则按其容量的5%增加,所以Vector更能节省资源。

  • 相关阅读:
    个人工作总结2
    个人工作总结1
    各种颜色代码
    第七周学习进度
    安卓的SlidingMenu配置
    第六周学习进度
    ecshop 首页调用指定分类下的销售排行
    EcShop首页显示特定分类的精品新品热销特价等推荐商品
    ecshop调用指定分类热销-新品-精品
    ecshop transport.js 和 jquery 冲突解决办法
  • 原文地址:https://www.cnblogs.com/iOS-mt/p/5717683.html
Copyright © 2011-2022 走看看