• Java每日笔试题错题分析(7)



    一、错题知识点前瞻

    第1题

    非静态变量不能被静态方法引用



    第2题

    start()方法与run()方法

    start()方法是启动一个线程,此时的线程处于就绪状态,但并不一定就会执行,还需要等待CPU的调度。
    run()方法才是线程获得CPU时间,开始执行的点。



    第3题

    成员变量的引用在堆区

    成员变量的引用在堆区,因为成员变量的所属对象在堆区,所以它也在堆区,局部变量的引用在栈区,因为它不属于某一个对象,在调用时才被加载,所以在栈区


    第4题

    LinkedList是实现List而不是继承

    List是接口,需要类实现而不是继承



    第5题

    HashMap

    1.HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表
    2. HashMap的实例有俩个参数影响其性能: “初始容量” 和 装填因子。
    3. HashMap实现不同步,线程不安全。HashTable线程安全
    4. HashMap中的key-value都是存储在Entry中的。
    5. HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性
    6. 解决冲突主要有三种方法:定址法,拉链法,再散列法。HashMap是采用拉链法解决哈希冲突的。



    二、错题展示及其解析


    第1题


    在这里插入图片描述


    原理

    非静态变量不能被静态方法引用


    解析:若需要调用x,则需要创建一个类的实例变量方可调用x



    第2题


    在这里插入图片描述


    原理:

    start()方法与run()方法

    start()方法是启动一个线程,此时的线程处于就绪状态,但并不一定就会执行,还需要等待CPU的调度。
    run()方法才是线程获得CPU时间,开始执行的点。




    第3题


    在这里插入图片描述


    原理:

    成员变量的引用在堆区

    成员变量的引用在堆区,因为成员变量的所属对象在堆区,所以它也在堆区,局部变量的引用在栈区,因为它不属于某一个对象,在调用时才被加载,所以在栈区



    第4题


    在这里插入图片描述


    原理:

    LinkedList是实现List而不是继承

    List是接口,需要类实现而不是继承


    第5题


    在这里插入图片描述

    原理:

    HashMap

    1.HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表
    2. HashMap的实例有俩个参数影响其性能: “初始容量” 和 装填因子。
    3. HashMap实现不同步,线程不安全。HashTable线程安全
    4. HashMap中的key-value都是存储在Entry中的。
    5. HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性
    6. 解决冲突主要有三种方法:定址法,拉链法,再散列法。HashMap是采用拉链法解决哈希冲突的。


  • 相关阅读:
    centos7添加开机自启案例及原理
    倾斜实景三维中的“我的世界“
    Salesforce中国区或将解散?国产SaaS如何在竞争中扬长避短
    Hbase安装和使用
    Spring面试题1:Spring框架的核心功能是什么?Spring框架的好处是什么?
    大模型能力
    数据结构之栈和队列以及如何封装栈和队列,栈和队列的实例(进制转换和击鼓传花)
    【Nginx】Windows10 平台下配置Nginx服务实现负载均衡
    这次主要的配置
    学术研究和论文写作
  • 原文地址:https://blog.csdn.net/haobabiu/article/details/133948980