您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页东华笔试题2

东华笔试题2

来源:筏尚旅游网
1、 JAVA中的异常处理机制的简单原理和应用

简单原理:每当产生异常以后,如果没有程序进行相应的处理,则程序出现中断的现象,那么,此时实际上一旦产生一个异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句进行捕获的话,则可以进行异常处理,如果没有的话,则交给JVM进行处理,当try进行处理,当try语句捕获到了异常以后,会与catch中的异常类进行匹配,如果匹配成功,则使用此catch语句进行处理。

应用:简单的引用,就是在所有有throws关键字的地方加入try„catch

如果按照一个标准做法的话:try ,catch,finally,throw,throws关键字应该一起使用。 2、 垃圾回收的优化和原理,并考虑2种回收机制。

将无用的对象空间进行释放,两种回收:自动回收,手工调用System.gc()方法,实际上调用System.gc()就相当于调用了Runtime.Runtime().gc()方法。 3、 Error和Exception有什么区别?

Error表示是有JVM进行处理的,是JVM出错

Exception是可以由程序进行处理的,使用try„catch进行处理 4、 谈谈final,finally,finalize的区别。

? Final是定义是常量、方法、类的、声明的方法不能被复写、声明的类不能被继承 ? Finally:是异常的统一出口

? Finalize:是垃圾回收前的收尾工作,是Object类中定义的

5、 Anonymous Inner Class(匿名内部类)是否可以extend(继承)其他类,是否可以implements(实现) interface(接口)?

允许继承或实现,因为匿名内部类就是在抽象类和接口的基础之上发展起来的 6、 Static Nested Class和Inner Class的不同。

|-使用Static声明的内部类就是外部类,可以通过外部类,内部类直接访问

|-普通的内部类是不能够直接被外部所访问的,需要通过外部类实例再找到内部类实例 7、 HashMap和Hashtable的区别。 ? HashMap

|-JDK1.2以后推出,是新的类

|-采用异常处理方式,性能较高,但是属于非线程安全 |-允许设置null ? Hashtable

|-JDK1.0时候推出,是旧类

|-采用同步处理方式,性能较低,但是属于线程安全 |-不允许设置null,否则将出现NullPointerException 8、 什么时候用assert?

? JDK1.4之后添加的新关键字, ----assert,表示断言,既程序执行到某个地方之后值肯定会设计好的。

? 一般开发中很少使用assert

? 要想使用断言,则必须使用-ea参数 9、 GC是什么?为什么要有GC? ? GC:垃圾收集

? 使用GC可以进行垃圾空间的释放

10、 String s=new String(“xyz”);创建了几个String Object?

产生了两个实例化的对象,一个是匿名对象“xyz”,另外一个是通过关键字new实例化的。 11、 Sleep()和wait()有什么区别?

? Sleep()是Thread类中定义的方法,表示线程的休眠,会自动唤醒

? Wait()是Object中定义的方法,需要手工调用notify()或notifyALL()方法 12、 JAVA中有没有goto?

? Goto()属于保留的关键字,JAVA中存在goto,只是无法使用 13、 数组中有没有length()这个方法?String有没有length()? 数组中存在length的属性,String中存在length()方法

14、 Overload和Override的区别,Overload的方法是否可以改变返回值的类型? ? 重载:Overload

在一个定义的若干方法

所有的方法名称相同,但是参数的类型或个数不同 ? 重写:Override 在继承的关系中

子类定义了与父类同名的方法,参数类型或个数最好完全一样,注意访问权限不能更加严格 ? 重载的时候不能依靠返回类型区分的,而是靠参数 15、 Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?

依靠hashcode()和equals()两个方法完成,==属于地址值比较,而equals属于内容比较,使用的是equals方法

16、 列举出一些最常见的runtime exception。

NumberFormatException、ArrayOutInderofboundException、NullPointerException、classCastException

17、 Abstract class和interface有什么区别? ? 抽象类

由抽象方法和常量、变量、全局常量、构造方法、普通方法组成 使用abstract声明

子类通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法 存在单继承局限,一个子类只能继承一个抽象类 抽象类可以实现若干个接口 ? 接口

全部由抽象方法和全局常量组成 使用interface声明

子类通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法

不存在单继承局限,一个子类可以同时实现多个接口 接口不能继承一个抽象类,但是允许继承多个接口 18、 启动一个线程是用run()还是Start()?

使用Start()方法,因为要通知JVM进行CPU资源的分配

19、 Try{}里面哟一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?

会执行,在return之前执行,只要是finally{}的代码永远会被执行

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务