• 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是线程安全的,效率低。

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

  • 相关阅读:
    软件工程 实验二 结对编程(第一阶段)
    C#中的线程(一)入门
    C# Using与Try..Finally 语句探究
    中兴一面归来
    Log4Net 入门示例
    C++ 临时对象
    C宏定义探析
    MFC 对话框 快捷键设置(alt+s)
    C#中的线程(二) 线程同步基础
    Ip地址的正则表达式
  • 原文地址:https://www.cnblogs.com/fqh2020/p/11581829.html
Copyright © 2020-2023  润新知