作者:Bryant Lei

出处:http://blog.csdn.net/bryantlei

1. Servle生命周期调用的方法有哪些?

解析:Servlet 从被客户第一次请求开始,由Web容器加载并实例化对象,随后进行初始化、服务和销毁。一个Servlet在初始化时会执行其init()方法,在服务阶段执行serivce()方法,之后一直常驻内存,直至Web容器停止才会执行其destroy()方法进行对象的销毁工作。

init方法:初始化Servlet
service
方法:响应客户请求
destroy
方法:Servlet对象退出生命周期时,释放占用的资源

2.Math.round(11.5) =__      Math.round(-11.5)=__

解析:Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil11.3)的结果为12Math.ceil(-11.6)的结果为-11floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11Math.floor(-11.4)的结果-12;最难掌握的是round方法,他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12Math.round(-11.5)的结果为-11.

3.Java中实现多态的机制是方法的__和__.

解析:方法的重写Overriding和重载OverloadingJava多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

4.JNI技术是否可以调用C语言写的函数?

解析:可以,JNIJavaNative Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是CC++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。

5.Java得到数组的长度是通过length()方法?

解析:java中的length属性和length()方法和size()方法的区别  

1.java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.  

2.java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.  

3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!

6.UNION连接两个结果集不会有重复数据

解析:Union组合起来,会合并重复(相同)的数据,并排序

Union all组合起来不会合并相同的数据,不进行重新排序,按照你组合的顺序去排序

8.throw和throws的区别

解析:1throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。如下面例子所示:

public class Shoot {   创建类
static void pop() throwsNegativeArraySizeException {
//定义方法并抛出NegativeArraySizeException异常
int [] arr = newint[-3];//创建数组
}
public static voidmain(String[] args) {//主方法
try {
pop(); //调用pop()方法
} catch(NegativeArraySizeException e) {
System.out.println("pop()方法抛出的异常");//输出异常信息
	}
    }
}

2

throw
关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到
throw
语句时立即停止,它后面的语句都不执行。通过
throw
抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用
throws
关键字在方法声明中指明要跑出的异常;如果要捕捉
throw
抛出的异常,则必须使用
try

catch
语句。举例如下:

class MyException extendsException { //创建自定义异常类
 String message; //定义String类型变量
 public MyException(String ErrorMessagr) {  //父类方法
       message = ErrorMessagr;
 }
 public String getMessage(){   //覆盖getMessage()方法
  return message;
 }
}
public class Captor { //创建类
static int quotient(intx,int y) throws MyException{//定义方法抛出异常
if(y < 0){  //判断参数是否小于0
         throw new MyException("除数不能是负数");//异常信息
 }
 return x/y;//返回值
 }
public static voidmain(String args[]){ //主方法
 try{ //try语句包含可能发生异常的语句
                int result = quotient(3,-1);//调用方法quotient()
    }catch (MyException e) { //处理自定义异常
  System.out.println(e.getMessage()); //输出异常信息
  }
    catch (ArithmeticException e) {
                   //处理ArithmeticException异常
  System.out.println("除数不能为0");//输出提示信息
  }
   catch (Exception e) { //处理其他异常
  System.out.println("程序发生了其他的异常");
                  //输出提示信息
  }
 }
}

9.下列程序的输出是__.

public classTestSwitch {
    public static void main(String[] args) {
       // TODO Auto-generated method stub
       int i = 0;
       int num = 10;
       switch (num)
       {
           default:i++;System.out.println("break");
           case 10:i++;
           case 11:i++;
           break;
       }
       System.out.println("i="+i);
    }
}

解析:i=2

Result:笔试通过,面试没有去


版权声明:本文为Bryantlei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Bryantlei/article/details/25310661