JAVA面试真题及答案分享

JAVA面试真题及答案分享

ID:46210469

大小:133.73 KB

页数:11页

时间:2019-11-21

JAVA面试真题及答案分享_第1页
JAVA面试真题及答案分享_第2页
JAVA面试真题及答案分享_第3页
JAVA面试真题及答案分享_第4页
JAVA面试真题及答案分享_第5页
资源描述:

《JAVA面试真题及答案分享》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、JAVA面试真题及答案分享    1.Java中的异常处理机制的简单原理和应用    当Java程序违反了Java的语义规则时Java虚拟机就会将发生的错误表示为一个异常违反语义规则包括2种情况一种是Java类库内置的语义检查例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException另一种情况就是Java允许程序员扩展这种语义检查程序员可以创建自己的异常并自由选择在何时用throw关键字引发异常所有的异常都是java.lang.Thowa

2、ble的子类    2.Java的接口和C++的虚类的相同和不同处    由于Java不支持多继承而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性现有的单继承机制就不能满足要求与继承相比接口有更高的灵活性因为接口中没有任何实现代码当一个类实现了接口以后该类要实现接口里面所有的方法和属性并且接口里面的属性在默认状态下面都是publicstatic,所有方法默认情况下是public.一个类可以实现多个接口    3.垃圾回收的优点和原理并考虑2种回收机制    Java语言中一个显著的特点就是引入了垃圾回收机制使

3、c++程序员最头疼的内存管理的问题迎刃而解它使得Java程序员在编写程序的时候不再需要考虑内存管理由于有个垃圾回收机制Java中的对象不再有“作用域”的概念只有对象的引用才有“作用域”垃圾回收可以有效的防止内存泄露有效的使用可以使用的内存垃圾回收器通常是作为一个单独的低级别的线程运行不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收回收机制有分代复制垃圾回收和标记垃圾回收增量垃圾回收    4.线程同步的方法    wait():使一个

4、线程处于等待状态并且释放所持有的对象的lock    sleep():使一个正在运行的线程处于睡眠状态是一个静态方法调用此方法要捕捉InterruptedException异常    notify():唤醒一个处于等待状态的线程注意的是在调用此方法的时候并不能确切地唤醒某一个等待状态的线程而是由JVM确定唤醒个线程而且不是按优先级    Allnotity():唤醒所有处入等待状态的线程注意并不是给所有唤醒线程一个对象的锁而是让它们竞争    5.Error与Exception有什么区别?    Error表示系统级的错

5、误和程序不必处理的异常    Exception表示需要捕捉或者需要程序进行处理的异常    6.在java中一个类被声明为final类型表示了什么意思?    表示该类不能被继承是顶级类    7heap和stack有什么区别    栈是一种线形集合其添加和删除元素的操作应在同一段完成栈按照后进先出的方式进行处理堆是栈的一个组成元素    8谈谈final,finally,finalize的区别    final修饰符(关键字)如果一个类被声明为final意味着它不能再派生出新的子类不能作为父类被继承因此一个类不能既被

6、声明为abstract的又被声明为final的将变量或方法声明为final可以保证它们在使用中不被改变被声明为final的变量必须在声明时给定初值而在以后的引用中只能读取不可修改被声明为final的方法也同样只能使用不能重载    finally异常处理时提供finally块来执行任何清除操作如果抛出一个异常那么相匹配的catch子句就会执行然后控制就会进入finally块(如果有的话)    finalize方法名Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作这个方法

7、是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的它是在Object类中定义的因此所有的类都继承了它子类覆盖finalize()方法以整理系统资源或者执行其他清理工作finalize()方法是在垃圾收集器删除对象之前对这个对象调用的    9AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类是否可以implements(实现)interface(接口)?    匿名的内部类是没有名字的内部类不能extends(继承)其它类但一个内部类可以作为一个接口由另一个内部类实现    1

8、0StaticNestedClass和InnerClass的不同    NestedClass(一般是C++的说法)InnerClass(一般是JAVA的说法)Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上    注:静态内部类(InnerClass)意味着1创建一个static内部类的对象不需要

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。