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

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

  • 相关阅读:
    iframe标签用法详解
    Redis 数据备份与恢复,安全,性能测试,客户端连接,管道技术,分区(四)
    Redis 有序集合(sorted set),发布订阅,事务,脚本,连接,服务器(三)
    Redis 命令,键(key),字符串(String),哈希(Hash),列表(List),集合(Set)(二)
    Redis 安装,配置,简介,数据类型(一)
    Python2.x与3​​.x版本区别
    Python主流框架
    python面向对象( item系列,__enter__ 和__exit__,__call__方法,元类)
    Json对象与Json字符串互转(4种转换方式)
    JSON.parse和eval的区别
  • 原文地址:https://www.cnblogs.com/fqh2020/p/11581829.html
Copyright © 2011-2022 走看看