首页 >  面试题 > JAVA,PHP企业面试宝典 > 

java面试题大全

java面试题大全

作者:elc 来源: 时间:2016-12-19 访问次数:2233
 什么是JSP指令(Directive)?JSP中有哪些不同类型的指令? Directive是当JSP页面被编译成Servlet的时候,JSP引擎要处理的指令。Directive用来设置页面级别的指令,从外部文件 插入数据,指定自定义的标签库。Directive是定义在<



  1. 异常处理完成以后,Exception对象会发生什么变化?

    Exception对象会在下一个垃圾回收过程中被回收掉

  2. throw和throws有什么区别?

    throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表明方法不能处理的异常。每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的。

  3. Java中的两种异常类型是什么?他们有什么区别?

    Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。不受检查的异常不需要在方法或者是构造函数上声

    明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。这里有Java异常处理的一些小建议 

  4. Java applet有哪些限制条件?

    主要是由于安全的原因,给applet施加了以下的限制:

       applet不能够载入类库或者定义本地方法。

       applet不能在宿主机上读写文件。

       applet不能读取特定的系统属性。

       applet不能发起网络连接,除非是跟宿主机。

       applet不能够开启宿主机上其他任何的程序。

     

  5.  applet安全管理器是什么?它会做哪些工作?

    applet安全管理器是给applet施加限制条件的一种机制。浏览器可以只有一个安全管理器。安全管理器在启动的时候被创建,之后不能被替换覆盖或者是扩展。

  6. 哪些Swing的方法是线程安全的?

    只有3个线程安全的方法: repaint(), revalidate(), and invalidate()。

  7. 说出三种支持重绘(painting)的组件。

    Canvas, Frame, Panel,和Applet支持重绘。

  8. 裁剪(clipping)和重绘(repainting)有什么联系?

    当窗口被AWT重绘线程进行重绘的时候,它会把裁剪区域设置成需要重绘的窗口的区域。

  9.  事件监听器接口(event-listenerinterface)和事件适配器(event-adapter)有什么关系?

    事件监听器接口定义了对特定的事件,事件处理器必须要实现的方法。事件适配器给事件监听器接口提供了默认的实现。

  10. Java的Swing组件使用了哪种设计模式?

    Java中的Swing组件使用了MVC(视图-模型-控制器)设计模式。

  11. 什么是JDBC?

    JDBC是允许用户在不同数据库之间做选择的一个抽象层。JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节。

  12. Java的Swing组件使用了哪种设计模式?

    Java中的Swing组件使用了MVC(视图-模型-控制器)设计模式。

  13. 什么是JDBC?

    JDBC是允许用户在不同数据库之间做选择的一个抽象层。JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节。

  14. 什么是RMI?

    Java远程方法调用(Java RMI)是Java

    API对远程过程调用(RPC)提供的面向对象的等价形式,支持直接传输序列化的Java对象和分布式垃圾回收。远程方法调用可以看做是激活远程正在运行

    的对象上的方法的步骤。RMI对调用者是位置透明的,因为调用者感觉方法是执行在本地运行的对象上的。看下RMI的一些注意事项。

  15. RMI体系结构分哪几层?

    RMI体系结构分以下几层:

    存根和骨架层(Stub and Skeleton layer):这一层对程序员是透明的,它主要负责拦截客户端发出的方法调用请求,然后把请求重定向给远程的RMI服务。

    远程引用层(Remote Reference Layer):RMI体系结构的第二层用来解析客户端对服务端远程对象的引用。这一层解析并管理客户端对服务端远程对象的引用。连接是点到点的。

  16. RMI程序能正确运行有哪些步骤?

    为了让RMI程序能正确运行必须要包含以下几个步骤

       编译所有的源文件。

       使用rmic生成stub。

       启动rmiregistry。

       启动RMI服务器。

       运行客户端程序。

  17.  RMI中使用RMI安全管理器(RMISecurityManager)的目的是什么?

    RMISecurityManager使用下载好的代码提供可被RMI应用程序使用的安全管理器。如果没有设置安全管理器,RMI的类加载器就不会从远程下载任何的类。

  18. doGet()方法和doPost()方法有什么区别?

    doGet:GET方法会把名值对追加在请求的URL后面。因为URL对字符数目有限制,进而限制了用在客户端请求的参数值的数目。并且请求中的参数值是可见的,因此,敏感信息不能用这种方式传递

    doPOST:POST方法通过把请求参数值放在请求体中来克服GET方法的限制,因此,可以发送的参数的数目是没有限制的。最后,通过POS请求传递的敏感信息对外部客户端是不可见的。

  19. 什么是Servlet链(ServletChaining)?

    Servlet链是把一个Servlet的输出发送给另一个Servlet的方法。第二个Servlet的输出可以发送给第三个Servlet,依次类推。链条上最后一个Servlet负责把响应发送给客户端。

  20. 什么是cookie?session和cookie有什么区别?

    cookie是Web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个Web服务器存储cookie。以后浏览器在给特定的Web服务器发请求的时候,同时会发送所有为该服务器存储的cookie。下面列出了session和cookie的区别:

     无论客户端浏览器做怎么样的设置,session都应该能正常工作。客户端可以选择禁用cookie,但是,session仍然是能够工作的,因为客户端无法禁用服务端的session。

     在存储的数据量方面session和cookies也是不一样的。session能够存储任意的Java对象,cookie只能存储String类型的对象。

  21. JSP请求是如何被处理的?

    浏览器首先要请求一个以.jsp扩展名结尾的页面,发起JSP请求,然后,Web服务器读取这个请求,使用JSP编译器把JSP页面转化成一个

    Servlet类。需要注意的是,只有当第一次请求页面或者是JSP文件发生改变的时候JSP文件才会被编译,然后服务器调用servlet类,处理浏览

    器的请求。一旦请求执行结束,servlet会把响应发送给客户端。这里看下如何在JSP中获取请求参数。

  22.  什么是JSP指令(Directive)?JSP中有哪些不同类型的指令?

    Directive是当JSP页面被编译成Servlet的时候,JSP引擎要处理的指令。Directive用来设置页面级别的指令,从外部文件

    插入数据,指定自定义的标签库。Directive是定义在<%@>之间的。下面列出了不同类型的Directive:

    包含指令(Includedirective):用来包含文件和合并文件内容到当前的页面。

    页面指令(Pagedirective):用来定义JSP页面中特定的属性,比如错误页面和缓冲区。

    Taglib指令:用来声明页面中使用的自定义的标签库。