MLDN魔乐科技直击面试系列破解Java面试题1.doc_第1页
MLDN魔乐科技直击面试系列破解Java面试题1.doc_第2页
MLDN魔乐科技直击面试系列破解Java面试题1.doc_第3页
MLDN魔乐科技直击面试系列破解Java面试题1.doc_第4页
MLDN魔乐科技直击面试系列破解Java面试题1.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Java中的异常处理机制的简单原理和应用。每当产生异常之后,如果没有程序进行相应的处理,则程序将出现中断的现象,那么,此时实际上一旦产生一个异常之后,JVM会跑出一个异常类的实例化对象,如果此时使用了try语句进行不活的话,则可以进行异常处理,如果没有的话,则交给JVM进行处理,当tru语句捕获到了异常之后,会与catch中的异常类型进行匹配,如果匹配成功,则使用catch语句进行处理。应用:简单的引用,就是在所有有throws关键字的地方加入trycatch如果按照一个标准做的话,try、catch、finally、throw、throws关键字应该一起使用。2、 垃圾回收的优点和原理。并考虑2种回收机制。将无用的对象空间进行释放,两种回收:自动回收,手工调用System.gc()方法,实际上调用System.gc()就相当于调用了Runtime.getRuntime().gc()方法。3、 Error与Exception有什么区别。Error表示有JVM进行处理的,是JVM出错。Exception表示可以由程序进行处理的,使用try.catch 进行处理。4、 谈谈final,finally,finalize的区别。Final是定义常量、方法、类的,生命的方法不能被覆写、生命的类不能被继承。Finally:是一场的统一出口。Finalize:是垃圾回收前的收尾工作,是Object类中定义的。5、 Anonymous Inner Class (匿名内部类)是否可以extends(继承)其他类,是否可以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、sleep()和wait()有什么区别?sleep()是Thred类中定义的方法,表示线程的休眠,会自动唤醒。wait()是Object中定义的方法,需要手工调用notify()或notifyAll()方法。11、String s = new String(“xyz”); 创建了几个String Object?产生了两个实例化对象,一个是匿名对象“xyz”,另外一个是通过关键字new实例化的。12、Java有没有goto?goto属于保留的关键字,java中存在goto,知识无法使用。13、数组有没有length()这个方法?String有没有length()这个方法?数组中存在length的属性,String中存在length()方法。14、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?重载:overload在一个定义的若干方法。所有的方法名称相同,但是参数的类型或个数不同腹泻:override在继承的关系中。在类定义了与父类同名的方法,参数类型或个数最好完全一样,注意访问权限不能更加严格。重载的时候不是依靠返回值类型区分的,而是靠参数。15、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?使用=还是equals()?他们有何区别?依靠hashCode()和equals()两个方法完成,=属于地址值比较,儿equals()属于内容比较。使用的是equals()方法。16、列举出常见的runtime exception。NumberFormatException、ArrayOutIndexofBoundException、NullPointerException、ClassCastException17、abstract class和interface有什么区别?抽象类由抽象方法和常量、变量、全局常量、构造方法、普通方法组成。使用abstract声明。子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法。存在单继承局限,一个子类只能继承一个抽象类。抽象类可以实现若干个接口。接口全部由抽象方法和全局变量组成。使用interface声明子类通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法。不存在单继承局限,一个子类可以实现多个接口。接口不能继承一个抽象类,但是允许继承多个接口。18、启动一个线程是用run()还是start()?使用start()方法,因为要通知JVM进行CPU资源的分类。19、 try里有一个return语句,那么紧跟在这个try后的finally里的code是不会被执行,什么时候被执行,在return前还是后?会执行,在return之前执行,只要是finally的代码永远会被执行。20、编程题:写一个Singleton出来(单例设计模式)。核心就是构造方法私有化。写上包名class单词的首字母要大写package org.pzx.demo;public class Singletonprivate static final Singletonsin = new Singleton(); 在内部产生singleton()对象private Singleto() 将构造方法私有化 public static Singleton getInstance() 通过静态方法renturn sinreturn sin;21、编一段代码,实现在控制台输入一组数字后,排序后在控制台输出。假设数字中间使用“”进行分割,既然要排序,则可以使用集合保存,使用TreeSet保存。package org.pzx.demo;import java.io.BufferedReader;import java.io.InputStremReader;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class Demopublic static void main(String args) throws ExceptionBufferedReader buf = new BufferedReader(new InputStreamReader(System.in);System.out.print(请输入一组数据,中间使用空格分隔:);String str = buf.readLine();Set set = new TreeSet();String s = str.split( );/进行拆分for (String x : s)set.add(Integer.parseInt(x);/加入数据System.out.println(排序之后的结果是:);Iterator iter = set.iterator();while(iter.hasNext()System.out.print(iter.next() + 、);以上的操作中,因为所有的数据都已经架设是正确的数字,但是实际中可能是字符串。第一种方法:允许有字符串,但是将所有的字符串忽略。第二种方法:不允许有字符串,如果出现了字符串,则程序不再向下继续执行。为程序改善功能:第二种方法package org.pzx.demo;import java.io.BufferedReader;import java.io.InputStremReader;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class Demopublic static void main(String args) throws ExceptionBufferedReader buf = new BufferedReader(new InputStreamReader(System.in);System.out.print(请输入一组数据,中间使用空格分隔:);String str = buf.readLine();Set set = new TreeSet();String s = str.split( );/进行拆分for (String x : s)if(x.matches(d+)set.add(Integer.parseInt(x);/加入数据System.out.println(排序之后的结果是:);Iterator iter = set.iterator();while(iter.hasNext()System.out.print(iter.next() + 、);为程序改善功能:第一种方法package org.pzx.demo;import java.io.BufferedReader;import java.io.InputStremReader;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class Demopublic static void main(String args) throws ExceptionBufferedReader buf = new BufferedReader(new InputStreamReader(System.in);System.out.print(请输入一组数据,中间使用空格分隔:);String str = buf.readLine();Set set = new TreeSet();String s = str.replaceAll(D+, ).trim()split( +);/进行拆分for (String x : s)set.add(Integer.parseInt(x);/加入数据System.out.println(排序之后的结果是:);Iterator iter = set.iterator();while(iter.hasNext()System.out.print(iter.next() + 、);22、列出某文件夹下的所有文件。递归调用package org.pzx.demo;import java.io.Files;public class ListFilespublic static void main(Strign args)File file = new File(D:+File.separator+doc);fun(file);public static void fun(File file)if(file.isDirectory()File f=file.listFiles();if(f != null)for (int x = 0;x f.length;x+)fun(fx);elseSystem.out.println(file);23、char型变量中能不能存贮一个中文汉字?为什么?可以存放,因为使用的是unicode编码。24、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?两种实现方法,继承Thread类,实现Runnable接口|-Thread类是Runnable接口的子类。|-使用Runnable接口可以实现资源共享的目的|-所有的线程操作都必须通过Thread类的Start()方法启动两种实现同步的方法:|-同步代码块:Synchronized(this)|-同步方法25、float型 float f=3.4是否正确?不正确,默认情况下3.4是double类型的数据。26、String与StringBuffer区别?String不可修改,StringBuffer允许修改。27、Class.forName的作用?为什么要用?Class.forName属于向容器之中加载驱动程序。28、int和Integer区别?int是基本数据类型,Integer是包装类在JDK1.5之后,可以实现自动装箱及拆箱的操作。29、用最有效的方法算出2乘以8等于几?使用移位操作:2330、请说出类集框架的完整结构。类集框架最大的接口:Collection、Map、Iterator、EnumerationCollection:存放单值|-List:允许有重复内容|-ArrayList:一步处理,新的操作类,非线程安全|-Vector:同步处理,旧的操作类,线程安全,支持En

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论