Java常见笔试题

Java常见笔试题:

1.String、StringBuffer和StringBuilder的区别

String 是不可变类的。即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。

StringBuffer 对象则代表一个字符序列可变的字符串,当一个StringBuffer对象被创建以后,可以用StringBuffer提供的append、insert、reverse等方法改变这个字符串的字符序列。一旦通过StringBuffer生成了最终想要的字符串,就可以调用它的toString方法生成一个String对象

StringBuilder和StringBuffer功能相似,二者的构造器和方法也大致相同。所不同的是,StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,因此StringBuilder性能略高。

 

2.Servlet的生命周期

Servlet被实例化后,容器运行其init方法;

请求到达时运行其service方法,service方法自动派遣运行与请求对应的doGet或doPost方法;

当服务器决定将实例销毁的时候调用其destroy方法。

 

3.堆和栈有什么区别

栈是一种线性集合。按照先进后出的方式进行处理。

堆是栈的一个组成元素

 

4.运行时异常和一般异常有何异同

异常表示程序运行过程中可能出现的非正常状态。

运行时异常表示虚拟机的通常操作中可能遇到的异常。是一种常见运行错误。

java编译器要求方法必须声明抛出可能发生的非运行时异常,但并不要求必须声明抛出未被捕获的运行时异常。

常见的运行时异常比如:ArithmeticException、BufferOverFlowException、ClassCastException、IndexOutOfBoundsException、NullPointerException、IllegalArgumentException

 

5. error和Exception的区别

error 错误。一般是指虚拟机相关的问题。如内存溢出、虚拟机出错、系统崩溃,通常会导致应用程序中断。这种错误无法恢复也不可能被捕获。程序无法处理这种错误,需要在操作系统系统级被处理。

Exception是一种设计或实现的问题。可以在应用程序级被处理。

posted @ 2013-04-07 23:27  robin·张  阅读(303)  评论(0编辑  收藏  举报