zoukankan      html  css  js  c++  java
  • java面试题基础(二)

    1.hashmap和hashtable的区别?

    hashmap允许键或值为null,而hashtable不允许键或值为null,hashtable是线程安全的,效率低,hashmap是线程不安全的,效率高,

    2.数组和链表的区别?

    数组可以包含基本数据类型和引用数据类型,而链表只能包含引用数据类型,数组的长度一旦被定义就不能更改,而链表的长度是动态变化的,
    数组查询快增删慢,链表增删快查询慢,链表没有索引,而数组是有索引的。

    3.ComparableComparator接口是干什么的?列出它们的区别。

    Comparable是一个接口,它里面有一个方法compareTo(),这个方法可以给对象进行排序,通过返回值来判断

     4.什么是值传递和引用传递?

    对象被值传递,意味着传递的是对象的一个副本,其原来对象的值不发生改变,对象被引用传递,传递的是对象的地址值,改变的是原来的对象。

    5.Java中垃圾回收有什么目的?什么时候进行垃圾回收?

    垃圾回收是识别并且丢弃应用不再使用的对象来释放资源。

    6.final、finally和finalize的区别?

    在java中final可以用来修饰类、方法和属性,当修饰类时该类不能被继承,当修饰方法时该方法不能够被重写,当修饰属性时,
    该属性就为常量,不可被修改,finally作为异常处理的关系,它只能在try、catch后面,并且在执行程序时不管有没有发生异
    常,该代码块一定会执行的,finalize()是object的一个类,它主要是负责垃圾回收的。

    7.throw和throws的区别?

    throw用来在程序中明确的抛出异常,throws用来表明方法不能处理的异常,多个异常之间用逗号隔开。

    8.==与equals的区别?

    ==比较基本数据类型比较的是值,比较引用数据类型比较的是地址值,equals比较的是地址值,由于string对equals方法进行了重写,所以比较的是值。

     9.string、stringBuffer和stringBuilder的区别?

    string提供了数值不可修改的的字符串,stringBuffer和stringBuilder是数值可以修改的,stringBuilder是线程不安全的,效率高,stringBuffer是线程安全的,效率低。

    一点点学习,一丝丝进步。不懈怠,才不会被时代所淘汰!

  • 相关阅读:
    bzoj3884: 上帝与集合的正确用法(数论)
    洛谷10月月赛R2·浴谷八连测R3题解
    bzoj5055: 膜法师(BIT)
    bzoj2213: [Poi2011]Difference(思维题)
    bzoj1016: [JSOI2008]最小生成树计数(kruskal+dfs)
    一模 (2) day2
    一模 (2) day1
    Prime Palindromes
    常州培训 day5 解题报告
    一模 (1) day2
  • 原文地址:https://www.cnblogs.com/fqh2020/p/11581829.html
Copyright © 2011-2022 走看看