java中常见的面试题总结(一)

1.java的三个方向 
     1>.JavaSE:它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序 
     2>.JavaEE:企业版本,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构和WEB2.0应用程序
     3>.JavaME:为在移动设备和嵌入式设备上运行的应用程序提供一个健壮且灵活的环境

2.java中new一个对象和多项=null的区别?
     对象=null指向到一个空地址,只是声明了一个对象的引用,并没有在jvm中开辟内存,以进行存储。而new一个对象指向的是一个具体的对象,对象需要空间存放的。在对象引用的时候,会将对象的内存地址传给引用的对象,以进行存储。【如果创建的对象需要自己去读取操作数据,就需要new的方式进行初始化,如果接收其他地方的传值,可不用new创建对象】

3.基本数据类型和对象类型?
     1>.基本数据类型在栈中进行分配,而对象类型在堆中进行分配。
所以方法的参数都是在传递引用而非本身的值(基本类型例外)。
     2>.基本类型之间的赋值是创建新的拷贝,而对象之间的赋值只是传递引用。
     3>.基本类型“==”和“!=”是在比较值,而对象“==”和“!=”   是在比较两个引用是否相同。

4.三大集合,集合HashMap和Hashtable的区别?
     Collection接口:List(ArrayList、LinkedList、Vector)、Set(HashSet、TreeSet)、Queue。
     Map接口:HashMap、TreeMap
     Iterator接口:用来遍历集合

     1>.set集合。主要实现类有hashSet,TreeSet。存放对象的引用,不允许有重复对象。
          a.hashSet(),调用对象hashCode()方法,获取哈希码,在集合中计算存放 对象的位置。通过比较哈希码与equals()方法来     判别是否重复。所以,重载 了equals()方法的同时也要重载hashCode()方法。
          b.TreeSet(),继承ShortedSet接口,能够对集合中对象排序。默认的方式 是自然排序,只针对实现了Comparable接口的       对象排序,java中对Integer、 Byte、Double、Character、String等数值型he字符型对象都实现了该接口。
   如果有特殊排序,需重载该接口下的comparTo()方法或通过Comparator接 口的实现了构造集合。

     2>. List集合。主要实现类有LinkedList、ArrayList。
          List特点允许存放重复对象。
          List能够利用Collections类的静态方法sort排序。
          List线性集合接口,有序。
          ArrayList:动态数组【可变长度,大小】
          LinkedList:链表结构

     3>.Map集合,主要实现类HashMap、TreeMap。
          Map特点键值对结构的集合,值可以重复,键必须唯一。
          HashMap类按照哈希算法来存取键对象,可以重载equals()、hashCode() 方法来比较,两者必须一致。
          TreeMap可自然排序,也可通过传递Comparator的实现类构造TreeMap。

两者的区别?
1.HashMap是非线程同步的,HashTable是线程同步的。
2.HashMap允许null作为键或者值,HashTable不允许。
3.HashTable中有个一个contains方法,HashMap去掉了此方法。
4.效率上来讲,HashMap因为是非线程安全的,因此效率比HashTable高。
5.hashTable继承Dictionary,而HashMap继承Abstract。
6.hashTable的put方法实现了同步,而hashMap没有。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值