`
lisa.zhou
  • 浏览: 3699 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
社区版块
存档分类
最新评论

常见Java面试题(一)

 
阅读更多

前段时间准备面试时,遇到的一些常问问题总结

 

1.Switch 语句能否作用于byte,long,String?

   byte可以,long,String不可以,因为switch 的判断条件可以接受int,byte,char,short,不接受其他类型

 

2.给出输出结果

  int testNum = 1;

  switch(testNum ){

  case 1:

  System.out.println('A');

  case 2:

  System.out.println('B');

  case 3:

  System.out.println('C');

}

结果应该为:

A

B

C

原因:switch语句中,一旦case匹配,则顺序执行后边的程序代码(即绿色部分),而不管caes是否匹配,直至遇到break为止。所以,如果只想输出‘A’,则需要在第一个分支执行程序代码段中加break

 

3.final,finally,finalize的区别

final—修饰符(关键字)。

 a.如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。

 b.若修饰变量,须在声明时给定初值,只能被读取

 c.修饰方法,该方法只能被使用,不能被重载

finally—在异常处理时提供finally块来执行任何清除操作

finalize—方法名

Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作,很少使用。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的

 

4.  原始数据类型

  int,byte,long,short,float,double,boolean,char,一共8种

  int 4个字节 

  byte 1字节  -2^7 ~ 2^7

  short 4字节  

  long 8字节

  float 4字节

  double 8字节

  char 2字节

  boolean 1位 

 

5. 常见的集合类型

   ArrayList,LinkedList,Vector,HashMap,HashSet,HashTable

   HashMap与ArrayList,异步效率高;

   Vector和HashTable 线程同步。

   性能上,ArrayList和HashMap分别比Vector和HashTable要好。

   基于Array的List(Vector,ArrayList) 适合查询,而LinkedList适合添加,删除操作;

 

    5.1 Arraylist与Vector的区别:

    同步性:Vector线程安全,ArrayList线程不安全

    数据增长: Vector默认增长为原来的一倍,ArrayList增长是原来的一半

    

   5.2 HashMap与HashTable区别:

    同步性:HashTable线程安全,HashMap线程不安全

    值:HashMap允许空值作为Key或value

 

   5.3  怎么理解Vector的线程同步?

   

 

6. 浮点数比较相等

   abs(a/b - 1) < epsilon”:将它们差的绝对值同一些预先定义的小正数进行比较,测试它们是否 足够相近。计算机表示浮点数有精度限制,对于超出精度限制的浮点数,计算机会把超出精度限制的小数点位舍弃掉,进行四舍五入。

 

7.String,StringBuffer,StringBuilder的区别

  String为字符串常量,final类,不可变;

  StringBuffer,StringBuffer为字符串变量,用来存储可变字符串,其中StringBuffer线程安全,StringBuilder非线程安全。

   一般情况下,存储效率  StringBuilder>StringBuffer>String

  但个别情况下,String速度 > StringBuffer

  eg: String s1= "This is a simple"+" String"+" test case";

        StringBuffer sb = new StringBuffer().append("This is a ").append(" simple string ").append(" test case ");

 

8. hashCode()和equals()方法

9.怎样给servlet做单元测试(大概了解)

   使用Junit中的HttpUnit

   使用mock对象

 

10.浅复制和深复制

     浅复制:实现 Cloneable 接口,重写Object的clone方法,返回 super.clone()

     Object中的clone()识别出你要复制的是哪一个对象,然后为此对象分配空间,并进行对象的复制,将原始                对象的内容一一复制到新对象的存储空间中。 

    深层复制:深复制把要复制的对象所引用的对象都复制了一遍。新科隆对象的引用值改变不影响原对象的引用值。

     实现方式一:原有对象类型和引用对象类型都要实现Cloneable,并分别重写clone(),比较繁琐

     实现方式二:利用串行化来做深复制,将对象写到流里,再把它读出来

11.IO

     字节流(8位)

        字节输入流:InputStream       read() 读取文本内容

        字节输出流:OutputStream    write(" .....") 将数据写入文本中

        FileInputStream 和FileOutputStream读写文本文件

    字符流(16位)主要用来读写字符串数据

        字符输入流:Reader  文件读出(FileReader,InputStreamReader,BufferedReader)

                             InputStreamReader:将一个InputStream转换成Reader,是字节转换成字符的桥梁

                             常用方法:  BufferedReader的readLine() ,close()

        字符输出流:Writer  文件的写入(FileWriter,OutputStreamWriter,PrintWriter)

                             OutputStreamWriter:将一个OutputStream转换成Writer

                             常用方法:  BufferedWriter的write("") , bw.flush() ,close()

        

           

 12. 堆(heap)与栈(stack)

        

   

 

 

 

 

   

  

   

  • 大小: 60.4 KB
  • 大小: 65.5 KB
分享到:
评论

相关推荐

    2022常见JAVA面试题一.docx

    2022常见JAVA面试题一.docx

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量...8、java面试题及答案 9、java面试题编程篇 10、Oracle面试题 11、Oracle企业面试题集锦 12、Spring面试题 13、SSH面试题 14、Strut+Spring+Hibernate面试题 15、张孝祥整理Java就业面试题大全

    java常见面试题汇总

    java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见...

    125条常见的java面试笔试题大汇总.doc

    125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的...

    125条常见的java面试笔试题大汇总.txt

    125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的...

    Java笔试题大全

    Java多线程常见面试题 31 Java企业面试题整理集合(1) 34 Java企业面试题整理集合(2) 43 Java企业面试题整理集合(3) 55 Java企业面试题整理集合(4) 62 Java企业面试题整理集合(5) 74 Java企业面试题整理集合(6) 85 ...

    常见的Java 笔试题

    常见的Java 笔试题 常见的Java 笔试题 常见的Java 笔试题

    java常见笔试面试题

    Java 常见的笔试题,Java的 比较 常用的 面试题,希望能给 Java的 求职者带来好运!

    常见的java面试笔试题大汇总

    125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的java面试笔试题大汇总125条常见的...

    常见Java笔试面试题

    收集了常见的笔试题面试题,对应聘者非常有好处。 里面有很多知识点、考点,我们很容易犯错误或者只看到片面的东西,即使对有2,3年开发工作经验的人

    Java面试笔试题大汇总(最全+详细答案)

    Java面试笔试题大汇总(最全+详细答案) Java面试笔试题大汇总(最全+详细答案)

    JAVA常见面试题JAVA常见面试题

    JAVA常见面试题JAVA常见面试题JAVA常见面试题JAVA常见面试题JAVA常见面试题JAVA常见面试题

    Java笔试题集合-常见java笔试题目

    Java笔试题集合,自己收集的常见java笔试题目

    java常见面试题java常见面试题

    java常见面试题java常见面试题java常见面试题java常见面试题java常见面试题java常见面试题java常见面试题java常见面试题java常见面试题java常见面试题

    java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB.zip

    125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码.doc 25个经典的Spring面试问答.docx 8张图解java.docx Addison.Wesley.Java.Concurrency.in.Practice.May.2006.chm Agile Java 测试驱动开发的编程...

    125条常见的java面试笔试题大汇总.pdf

    125条常见的java面试笔试题大汇总 125条常见的java面试笔试题大汇总 125条常见的java面试笔试题大汇总

    java常见面试题

    java常见面试题,初级java面试题,java初级,java,java常见面试题

    Java笔试题汇总(125道企业常见java笔试题)

    125道企业常见java笔试题 包含Javaweb 相关问题及答案

    java常见面试题(史上最全最经典-希望对你有用)

    java常见面试题(史上最全最经典-希望对你有用).基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方面的语法。

Global site tag (gtag.js) - Google Analytics