Java大数据面试常见问题_第1页
Java大数据面试常见问题_第2页
Java大数据面试常见问题_第3页
Java大数据面试常见问题_第4页
全文预览已结束

下载本文档

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

文档简介

Java大数据面试常见问题1.String

StringBuffer

的区别JAVA

平台提供了两个类

:String

StringBuffer

,它们可以储存和操作字符串,即包含多个字符的字符数据这个

String

类提供了数值不可改变字符串而这个

StringBuffer

类提供的字符串进行修改当你知道字符数能力是一个相对的概念。你今天做不到的事情,只要坚持通过学习和挑战 明天一定能做到据要改变的时候你就可以使用

StringBuffer

典型地,你可以使用

StringBuffers

来动态构造字符数据2.说出

ArrayList,Vector,LinkedList

的存储性能和特性ArrayList 和Vector 都是使用数组方式存储数据,此数组元素数大于实际存储数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了 synchronized 思路方法(线程安全),通常性能上较 ArrayList 差,而LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项前后项即可,所以插入速度较快3.HashMap 和Hashtable 的区别HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于HashtableJAVA中文站社区门户oC)|g|ax,HashMap允许将Null作为一个entrydekey或者value,而Hashtable不允许HashMap把Hashtable的contains思路方法去掉了,改成containsvalue和containsKey因为contains思路方法容易让人引起误解Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Mapinterface的一个实现。最大的区别是,Hashtable的思路方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的思路方法实现同步,而HashMap就必须为的提供外同步。Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。4.final,finally,finalize的区别final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally 是异常处理语句结构的一部分,表示总是执行。finalize 是Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?swtich中只能用byteshortintchar多线程有几种实现方法,都是什么?哪一种方式比较优秀?同步有几种实现方法,都是什么?多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口实现Runnable 接口比较好,因为实现类可以实现多个接口,而只能继承一个类。同步的实现方面有两种,分别是 synchronized,wait 与notifyjava中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类字 节 流 , 字 符 流 。 字 节流 继 承 与 inputStream/outputStream, 字符 流 继 承 于inputStreamReader/outputSteamWriter 。8:如果main 方法被声明为 private 会怎样?答案:能正常编译,但运行的时候会提示” main方法不是 public 的”。9:Java里的传引用和传值的区别是什么?答案:传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。10:如果要重写一个对象的 equals 方法,还要考虑什么?答案:hashCode。11:Java的”一次编写,处处运行”是如何实现的?答案:Java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台,因此Java是平台独立的。12:说明一下publicstaticvoidmain(Stringargs[])这段声明里每个关键字的作用答案:public:main方法是Java程序运行时调用的第一个方法,因此它必须对Java环境可见。所以可见性设置为pulic.static:Java平台调用这个方法时不会创建这个类的一个实例,因此这个方法必须声明为static。void:main方法没有返回值。String是命令行传进参数的类型,args是指命令行传进的字符串数组。13:==与equals的区别答案:==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致。两个String对象存储的值是一样的,但有可能在内存里存储在不同的地方.==比较的是引用而equals方法比较的是内容。publicbooleanequals(Objectobj)这个方法是由Object对象提供的,可以由子类进行重写。默认的实现只有当对象和自身进行比较时才会返回true,这个时候和==是等价的。String,BitSet,Date,和File都对equals方法进行了重写,对两个String对象而言,值相等意味着它们包含同样的字符序列。对于基本类型的包装类来说,值相等意味着对应的基本类型的值一样。public classEqualsTest {public static void main(String[] args) {String s1= “abc”;String s2= s1;String s5= “abc”;String s3= new String(”abc”);Strings4=newString(”abc”);System.out.println(”==comparison:”+(s1==s5));System.out.println(”==comparison:”+(s1==s2));System.out.println(”Usingequalsmethod:”+s1.equals(s2));System.out.println(”==comparison:”+s3==s4);System.out.println(”Usingequalsmethod:”+s3.equals(s4));}}结果:== comparison :true== comparison :trueUsing equals method :truefalseUsing equals method :true14:如果去掉了main方法的static修饰符会怎样?答案:程序能正常编译。运行时会抛NoSuchMethodError异常。15:为什么oracletype4驱动被称作瘦驱动?答案:oracle提供了一个type4JDBC驱动,被称为瘦驱动。这个驱动包含了一个oracle自己完全用Java实现的一个TCP/IP的Net8的实现,因此它是平台独立的,可以在运行时由浏览器下载,不依赖任何客户端的oracle实现。客户端连接字符串用的是TCP/IP的地址端口,而不是数据库名的tnsname。16:介绍一下finalize方法答案:final:常量声明。finally:处理异常。finalize:帮助进行垃圾回收。接口里声明的变量默认是final的。final类无法继承,也就是没有子类。这么做是出于基础类型的安全考虑,比如String和Integer。这样也使得编译器进行一些优化,更容易保证线程的安全性。final方法无法重写。final变量的值不能改变。finalize()方法在一个对象被销毁和回收前会被调用。finally,通常用于异常处理,不管有没有异常被抛出都会执行到。比如,关闭连接通常放到finally块中完成。17:什么是JavaAPI?答案:JavaAPI是大量软件组件的集合,它们提供了大量有用的功能,比如GUI组件。18:GregorianCalendar类是什么东西?答案:GregorianCalendar提供了西方传统日历的支持。19:ResourceBundle类是什么?答案:ResourceBundle 用来存储指定语言环境的资源,应用程序可以根据运行时的语言环境来加载这些资源,从而提供不同语言的展示。20:为什么 Java里没有全局变量 ?答案:全局变量是全局可见的, Java不支持全局可见的变量,因为:全局变量破坏了引用透明性原则。全局变量导致了命名空间的冲突。21:如何将String类型转化成Number类型?答案:Integer类的valueOf方法可以将String转成Number。下面是代码示例:StringnumString=“1000″;intid=Integer.valueOf(numString).intValue();22:SimpleTimeZone类是什么

温馨提示

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

评论

0/150

提交评论