JAVA面试题集基础知识:1.C++或Java中的异常处理机制的简朴原理和应用。当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表达为一种异常。违反语义规则包括2种状况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引起IndexOutOfBoundsException;访问null的对象时会引起NullPointerException。另一种状况就是JAVA容许程序员扩展这种语义检查,程序员可以创立自己的异常,并自由选择在何时用throw关键字引起异常。所有的异常都是java.lang.Thowable的子类。2.Java的接口和C++的虚类的相似和不一样处。由于Java不支持多继承,而有也许某个类或对象要使用分别在几种类或对象里面的措施或属性,既有的单继承机制就不能满足规定。与继承相比,接口有更高的灵活性,由于接口中没有任何实现代码。当一种类实现了接口后来,该类要实现接口里面所有的措施和属性,并且接口里面的属性在默认状态下面都是publicstatic,所有措施默认状况下是public.一种类可以实现多种接口。3.垃圾回收的长处和原理。并考虑2种回收机制。Java语言中一种明显的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器一般是作为一种单独的低级别的线程运行,不可预知的状况下对内存堆中已经死亡的或者长时间没有使用的对象进行清晰和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标识垃圾回收,增量垃圾回收。4.请说出你所懂得的线程同步的措施。wait():使一种线程处在等待状态,并且释放所持有的对象的lock。sleep():使一种正在运行的线程处在睡眠状态,是一种静态措施,调用此措施要捕捉InterruptedException异常。notify():唤醒一种处在等待状态的线程,注意的是在调用此措施的时候,并不能确切的唤醒某一种等待状态的线程,而是由JVM确定唤醒哪个线程,并且不是按优先级。Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一种对象的锁,而是让它们竞争。5.请讲一讲析构函数和虚函数的使用方法和作用。6.Error与Exception有什么区别?Error表达系统级的错误和程序不必处理的异常,Exception表达需要捕捉或者需要程序进行处理的异常。7.在java中一种类被申明为final类型,表达了什么意思?表达该类不能被继承,是顶级类。8.描述一下你最常用的编程风格。9.heap和stack有什么区别。栈是一种线形集合,其添加和删除元素的操作应在同一段完毕。栈按照后进先出的方式进行处理。堆是栈的一种构成元素10.假如系统要使用超大整数(超过long长度范围),请你设计一种数据构造来存储这种超大型数字以及设计一种算法来实现超大整数加法运算)。publicclassBigInt(){int[]ArrOne=newArrOne[1000];StringintString=””;publicint[]Arr(Strings){intString=s;for(inti=0;i