欢迎来到天天文库
浏览记录
ID:20696751
大小:133.05 KB
页数:11页
时间:2018-10-15
《java初级笔试题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、初级笔试面试题final,finally,finalize的区别。final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。error和exception有什么区别?error表示恢复不是不可能但很闲难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这祥的情况。exception表示一种设计
2、或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。List、Map、Set三个接口,存取元素时,各有什么特点?List以特定次序来持有元素,可冇重复元素。Set无法拥有重复元素,内部排序。Map保存key-value值,value可多值。java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?存两种实现方法,分别是继承Thread类与实现Runnable接口用synchronized关键字修饰同步方法反对使用stop(),是因为它不安全。它会解除由线程获取
3、的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用SUSpend()的吋候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被"挂起"的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试阁使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应在自己的Thread类中罝入一个标志,指出线程应该活动还是挂起。若标志指出线程应该挂起,便用wait()命
4、其进入等待状态。若标志指出线程应当恢复,则用一个notify()重新启动线程。Collection和Collections的区别。Collection是集合类的上级接口,继承与他的接口主要有Set和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类?接口可以继承接口,抽象炎可以实现(implements)接口,抽象炎可以继承实体类,但前提是实体类必须有明确的--构造函数
5、。••=="和equals方法究竟有什么区别?equals和==的区别值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其木身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而equals比较的是2个对象的内容。显然,当equals为true时,==不一定为true;3ava中单例模式定义:“一个类有且
6、仅有一个实例,并且自行实例化向整个系统提供。”•]ava单例模式例子•publicclassSingletonClass{•privatestaticSingletonClassinstance=null;•publicstaticSingletonClassgetlnstance(){•if(instance==null){•synchronized(SingletonClass.class){•if(instance==null){•instance=newSingletonClass();-}•}•}•returninst
7、ance;•}•privateSingletonClass(){}构造器Constructor是否可被override?构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload、问char为什么存储一个中文汉字?可以,因为一个字符2个字节,采用16进制的编码方式,而中文就是16进制的编码方式,因此可以存一个中文字.java中String、StringBuffer、StringBuilder的区别1.可变与不可变string对象是不可变的。StringBuilder与StringBuffe
8、r都是可变的。2.是否多线程安全String线程安全。StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全。StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。3.StringBuilderStringBuffe
此文档下载收益归作者所有