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

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

  • 相关阅读:
    Django model转字典的几种方法
    使用Nagios打造专业的业务状态监控
    Etcd安全配置之Basic Auth认证
    ELK日志系统之通用应用程序日志接入方案
    ELK日志系统之使用Rsyslog快速方便的收集Nginx日志
    中小团队落地配置中心详解
    ELK构建MySQL慢日志收集平台详解
    Django model select的各种用法详解
    Python:每日一题003
    Python:每日一题002
  • 原文地址:https://www.cnblogs.com/fqh2020/p/11581829.html
Copyright © 2011-2022 走看看