`
rmeebh
  • 浏览: 50104 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

面试题

    博客分类:
  • j2se
阅读更多
1. java.util.*包的UML结构图。
Collection
  ¦
  ¦_List
  ¦  ¦_LinkedList
  ¦  ¦_ArrayList
  ¦  ¦_Vector
  ¦
  ¦_Set
  ¦
  ¦_Map
  ¦  ¦_HashMap
  ¦
  ¦_Compare,Comparetor
  ¦
  ¦_Dictionary
  ¦  ¦_Hashtable
  ¦_ ...

2.Vector和ArrayList、LinkedList区别  Hashtable 和 HashMap之间的区别
    LinkedList内部以链表形式存储数据
    ArrayList内部以数组形式存储数据。
    Vector同ArrayList,不过它与ArrayList比较起来是thread-safe的。
    Hashtable是继承了Dictionary,是线程安全的。HashMap实现了Map接口,不是线程安全的。
      如何保证线程安全的?每个修改容器中数据的操作都是同步的(synchronized),因此保证了线程安全。

3.String、StringBuffer,StringBuilder之间区别。
    String是长度不可变的,StringBuffer和StringBuilder长度都是可以变化的。
    StringBuffer是线程安全的,StringBuilder不是线程安全的。

4.介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?
Collection FrameWork如下:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)
Map提供key到value的映射

5.多线程有几种表示方法,都是什么?同步有几种实现方法,都是什么?
    多线程有两种实现方法。一种是继承Thread类,一种是实现Runnable接口!  
    同步有两种方法。一种同步方法,一种同步代码!分别是synchronized,wait与notify

6.Java中的异常处理机制的简单原理和应用~~
      JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发 NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用 throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。
eg:第一种
  
class Test{
         public int devide(int x ,int y) throws Exception{  //
                  int result = x/y;
                  return result;
         }         
}
class TestException{
         public static void main(String[] args){
                  try{
                           new Test().devide(3,0);
                  }catch(Exception e){
                           System.out.println(e.getMessage());//虽然Exception除了Constructor之外没有其它的函数,
//但它继承了Throwable类.
                    }
                  System.out.println("Program running here");
         }
}

当编写Test class不知道它是否抛出异常时,可以在devide methods方法后添加 throws Exception 就可以..而在TestException中必须处理抛出的异常.
eg:第二种
如果自己定义异常类,必须继承Exception,也就是它的子类.
 class Test{
         public int devide(int x ,int y) throws Exception{  //
                  if(y < 0) 
                           throw DevideMyMinusException("devide is" + y);
                  int result = x/y;
                  return result;
         }         
}
class DevideMyMinusException extends Exception{
            public DevideMyMinusException (String msg){
                     super(msg);  //调用父类(Exception)的Construtor,主函数getMessage()输出自定义的异常:"devide is..."
            }
}

eg.第三种
可以抛出多个异常类.
 class Test{
         public int devide(int x ,int y) throws ArithmeticException,DevideMyMinusException{  //
                  if(y < 0) 
                           throw new DevideMyMinusException("devide is" + y);
                  int result = x/y;
                  return result;
         }         
}
class DevideMyMinusException extends Exception{
            public DevideMyMinusException (String msg){
                     super(msg); 
            }
}

class TestException{
         public static void main(String[] args){
                  try{
                           new Test().devide(3,-1);
                  }catch(ArithmeticException e){
                           System.out.println("program running into ArithmeticException ");
                           e.printStackTrace();
                  }catch(DevideMyMinusException e){
                           System.out.println("program running into DevideMyMinusException");
                           e.printStackTrace();
                  }catch(Exception e){
                           System.out.println(e.getMessage)
                  )finally{
                           System.out.println("finally running");//不管程序发生异常没有,finally代码块都要执行.
                  }


                  System.out.println("Program running here");
         }
}

  a.程序根据异常类型的匹配.自动进入相应的catch语句.Exception应放在其它异常语句后,因为他们都继承Exception ,其它异常要放在后面,就没有什么意义了.
  b.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 会执行,而且在return 前执行.
  c.什么时候finally里的代码不会执行呢? 当出现System.exit(0);时,它不会执行,程序会退出.

7.同步方法 和 同步块 有什么不同
    同步方法就是调用某方法的时候获得该对象的对象锁(当然如果是同步静态方法获得的就是类锁),而同步块是在调用某方发的时候,执行到该方法的同步块时获得某个对象的对象锁.大体上差不多,要注意同步块可以指定获得某对象锁,而同步方法获得的对象锁只能是该方法的拥有者对象本身的对象锁 

8.PreparedStatement和Statement
    数据库在执行sql语句的时候如果使用PreparedStatement语句会有一点优势:因为数据库会PreparedStatement语句进行预编译,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    牛客大数据面试题集锦+答案,共523道,46W+字。大厂必备

    大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...

    云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云

    云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备...

    个人面试题总结(java,数据库,前端).zip

    文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...

    2023最新JAVA面试题集

    2023年最新版--Java+最常见的+200++面试题汇总+答案总结汇总 阿里百度美团面试题合集 大数据面试题 100道 多线程面试59题(含答案) 最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 ...

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

    最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...

    (完整版)运维面试题(含答案).pdf

    (完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...

    2020年前端面试真题(阿里、网易、滴滴等)文件为百度网盘链接永久有效

    现在五块钱的付出,将来收获的可能是一份心仪的offer,干货满满,建议下载。...友情提示:本套面试题包括面试题900题+公司实战面试题400问,面试题已经整理好答案,公司题由于新收录没有答案,但非常有参考价值。

    【BAT必备】zookeeper面试题

    【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】...

    Python面试题及答案共70道.docx

    Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python面试题及答案共70道Python...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    超全的嵌入式工程师笔试面试题汇总.zip

    超全的嵌入式工程师笔试面试题汇总 单片机嵌入式应聘测试题(含答案).pdf 经典嵌入式面试题.pdf 嵌入式工程师笔试题带答案.pdf 嵌入式工程师经典面试题.pdf 嵌入式软件工程师笔试集锦.pdf 嵌入式软件工程师笔试题__...

    【BAT必备】dubbo面试题

    【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题...

    H5前端面试大全-包含大厂面试题_25个md文件分类面试题.rar

    前端笔试面试题部分 试题链接 原题概述 标签分类 1.md CSS部分 CSS 2.md HTML部分 HTML 3.md FEX 面试题 General 4.md 前端面试常见问题 General 5.md 前端面试HTML 相关问题 HTML 6.md 前端面试CSS 相关问题...

    2024年tensorflow面试题必问.zip

    内容概要:本面试题涵盖了各种类型的技术面试题,包括编程语言、算法、数据结构、操作系统、计算机网络、数据库等多个方面。这些面试题都是经过精心筛选和整理的,涵盖了常见的面试题型和知识点,能够帮助求职者全面...

    ERP工程师面试题ERP工程师面试题

    ERP工程师面试题ERP工程师面试题ERP工程师面试题ERP工程师面试题

    嵌入式C语言面试题汇总(超经典).pdf

    我们在找嵌入式方面的工作时,让我们头疼的恐怕就是面试题了,因为我们摸不到企业的命题规律,也不知道该怎样去准备,今天将各大企业的面试题进行汇总,分享给大家,希望可以帮到各位小伙伴。加油哦!

    最全的IT公司面试题集 CHM版的

    Java面试题,J2EE面试题,.net面试题,PHP面试题,数据库面试题,英语面试,外企面试,软件测试面试题,Python面试题,Oracle面试题,MySql面试题,Web开发面试题,Unix面试题,程序员面试,网络技术面试题,网络安全面试题,Linux...

    java高级软件工程师面试题大全及答案 含一些公司面试题

    java高级软件工程师面试题大全及答,一些公司的面试题,对于正在找工作应对面试的朋友或许有点帮助。java高级软件工程师面试题大全及答,一些公司的面试题,对于正在找工作应对面试的朋友或许有点帮助

Global site tag (gtag.js) - Google Analytics